繁体   English   中英

如何在多行文本框中的新行上书写?

[英]How can I write on a new Line in a MultiLine Textbox?

我必须编写一个程序,您可以在其中输入最小值和最大值。 然后从最小的所有数字。 到最大 甚至应该显示在多行文本框中。

但是,当偶数写入文本框时,它始终会覆盖之前写入文本框的数字。

我尝试了Enviroment.NewLine以及这个\\ r \\ n的东西,但是我可能用错了。

private void cmdstart_Click(object sender, EventArgs e)
{
    for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
    {
        int a = i % 2;
        if (a == 0)
        {
            textBox3.Text = Convert.ToString(i);
        }
    }
}

最后,它应该输出最小的所有偶数。 到最大 在多行文本框中。 每个数字都应换行。

这是因为您每次都覆盖它。

尝试以下代码:

textBox3.Text += i.ToString()+Environment.NewLine; 

确保已在textBox3上将Multiline属性设置为true。

您可以在选择textbox3之后通过属性窗口进行设置,也可以在完成initializeComponents之后在表单构造函数中的以下行中进行编写。

textBox3.Multiline = true;

完成此操作后,Environment.NewLine或\\ r \\ n都应该起作用。

如果您编写多行文字,则可以自己进行测试

输入:

1

2

3

4

6

7

使用Designer和Text属性添加到文本框,您可以看到它生成了以下内容:

txt值:

“1 \\ r \\ N 2 \\ r \\ N3 \\ r \\ N4 \\ r \\ N5 \\ r \\ N6 \\ r \\ N7”

码:

string txt = multiLineTextBox.Text;

因此,如果您将\\r\\n添加到现有文本中,则会将文本追加到新行:

for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
{
    int a = i % 2;
    if (a == 0)
    {
        textBox3.Text = $"{textBox3.Text}{i}\r\n";
        // or using string.Format for older versions
        //textBox3.Text = string.Format("{0}{1}\r\n", textBox3.Text, i);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM