C# 如何让用户输入richtextbox粘贴消息的次数?

C# 如何让用户输入richtextbox粘贴消息的次数?,c#,forms,C#,Forms,我现在有一个表单,如果你在Richtextbox中输入,它会粘贴1000次消息。我正在尝试获取一个表单,您可以在文本框中键入希望粘贴消息的次数 private void richTextBox1_TextChanged(object sender, EventArgs e) { richTextBox.Text = "Hello world\r\n"; for (int i = 0; i < 10; ++i) richTextBox.Text +=

我现在有一个表单,如果你在Richtextbox中输入,它会粘贴1000次消息。我正在尝试获取一个表单,您可以在文本框中键入希望粘贴消息的次数

private void richTextBox1_TextChanged(object sender, EventArgs e)
    {
        richTextBox.Text = "Hello world\r\n";
        for (int i = 0; i < 10; ++i) richTextBox.Text += richTextBox.Text;
    }
private void richTextBox1\u TextChanged(对象发送方,事件参数e)
{
richTextBox.Text=“Hello world\r\n”;
对于(inti=0;i<10;++i)richTextBox.Text++=richTextBox.Text;
}

这是一个非常简单的问题,我不确定我是否正确理解了你的问题

  • 您需要一个UI元素来输入它。 当然,另一个文本框可以工作。但也有一个问题

  • 除非控件已经提供整数,否则将字符串输入解析为整数。使用

  • 您使用解析后的数字,而不是10常量

  • 最后,您应该避免对控件执行循环操作。编写UI很昂贵。如果每个用户触发的事件只执行一次,则不会注意到它。但是在一个循环中,你会注意到它。我甚至制作了示例代码来展示:

    using System;
    using System.Windows.Forms;
    
    namespace UIWriteOverhead
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            int[] getNumbers(int upperLimit)
            {
                int[] ReturnValue = new int[upperLimit];
    
                for (int i = 0; i < ReturnValue.Length; i++)
                    ReturnValue[i] = i;
    
                return ReturnValue;
            }
    
            void printWithBuffer(int[] Values)
            {
                textBox1.Text = "";
                string buffer = "";
    
                foreach (int Number in Values)
                    buffer += Number.ToString() + Environment.NewLine;
                textBox1.Text = buffer;
            }
    
            void printDirectly(int[] Values){
                textBox1.Text = "";
    
                foreach (int Number in Values)
                    textBox1.Text += Number.ToString() + Environment.NewLine;
            }
    
            private void btnPrintBuffer_Click(object sender, EventArgs e)
            {
                MessageBox.Show("Generating Numbers");
                int[] temp = getNumbers(10000);
                MessageBox.Show("Printing with buffer");
                printWithBuffer(temp);
                MessageBox.Show("Printing done");
            }
    
            private void btnPrintDirect_Click(object sender, EventArgs e)
            {
                MessageBox.Show("Generating Numbers");
                int[] temp = getNumbers(1000);
                MessageBox.Show("Printing directly");
                printDirectly(temp);
                MessageBox.Show("Printing done");
            }
        }
    }
    
    使用系统;
    使用System.Windows.Forms;
    命名空间UIWriteOverhead
    {
    公共部分类Form1:Form
    {
    公共表格1()
    {
    初始化组件();
    }
    int[]getNumbers(int上限)
    {
    int[]ReturnValue=新int[上限];
    for(int i=0;i