我必须编写一个程序,您可以在其中输入最小值和最大值。然后从最小的所有数字。到最大甚至应该在多行文本框中显示。
但是,当偶数写入文本框中时,它始终会覆盖之前写入文本框中的数字。
我尝试了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);
}
}
}
最后,它应该输出最小的所有偶数。到最大在多行文本框中。每个数字都应换行。
答案 0 :(得分:3)
发生这种情况是因为您每次都将其覆盖。
尝试以下代码:
textBox3.Text += i.ToString()+Environment.NewLine;
答案 1 :(得分:0)
确保已在textBox3上将Multiline属性设置为true。
您可以在选择textbox3之后通过属性窗口对其进行设置,也可以在完成initializeComponents之后在表单构造函数的下面一行中进行编写。
textBox3.Multiline = true;
完成后,Environment.NewLine或 \ r \ n 都应该起作用。
答案 2 :(得分:0)
如果您编写多行文字,则可以自己进行测试
输入:
1
2
3
4
5
6
7
使用设计器和Text
属性到文本框,您可以看到它生成了以下内容:
txt值:
“ 1 \ r \ n2 \ 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);
}
}