C# 如何在多行文本框中的新行上书写?
我必须做一个程序,你可以输入一个最小值和一个最大值。然后,从最小值到最大值的所有偶数都应显示在多行文本框中 但当偶数写入文本框时,它总是覆盖以前写入文本框的数字 我试过Environment.NewLine和\r\n这个东西,但我可能用错了C# 如何在多行文本框中的新行上书写?,c#,.net,winforms,C#,.net,Winforms,我必须做一个程序,你可以输入一个最小值和一个最大值。然后,从最小值到最大值的所有偶数都应显示在多行文本框中 但当偶数写入文本框时,它总是覆盖以前写入文本框的数字 我试过Environment.NewLine和\r\n这个东西,但我可能用错了 private void cmdstart_Click(object sender, EventArgs e) { for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt3
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上将Multiline属性设置为true 您可以在选择textbox3后通过“属性”窗口进行设置,也可以在初始化Components后在表单构造函数中的行下方写入
textBox3.Multiline = true;
完成此操作后,Environment.NewLine或\r\n两者都应起作用。请确保已在textBox3上将Multiline属性设置为true 您可以在选择textbox3后通过“属性”窗口进行设置,也可以在初始化Components后在表单构造函数中的行下方写入
textBox3.Multiline = true;
完成此操作后,Environment.NewLine或\r\n两者都应起作用。之所以发生这种情况,是因为您每次都会覆盖它 请尝试以下代码:
textBox3.Text += i.ToString()+Environment.NewLine;
它之所以发生,是因为您每次都覆盖它 请尝试以下代码:
textBox3.Text += i.ToString()+Environment.NewLine;
如果你写多行文字,你可以自己测试 输入: 一, 二, 三, 四, 五, 六, 七, 对于使用designer和Text属性创建的文本框,您可以看到它生成如下内容: txt值: 1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7 代码: 因此,如果在现有文本中添加\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);
}
}
如果你写多行文字,你可以自己测试 输入: 一, 二, 三, 四, 五, 六, 七, 对于使用designer和Text属性创建的文本框,您可以看到它生成如下内容: txt值: 1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7 代码: 因此,如果在现有文本中添加\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);
}
}
这很有效,非常感谢!但是你能给我解释一下,这个代码到底发生了什么?例如,为什么还有a+=而不仅仅是a=?当您写入=下一个值时@ManuelSarica会删除上一个值。当您写入+=时,它会接受上一个值并将表达式的右部分附加到它,这相当于textbox3.Text=textbox3.Text+i.ToString+Environment.newline谢谢您的快速回答。为什么我必须使用i.ToString,它做什么?我还没有创建任何字符串,所以我还不太明白那里发生了什么。@ManuelSarica C中的所有对象都有ToString方法。Convert.ToString将int强制转换为IConvertible接口,然后调用ToString。看看源代码:->ToString和->ToString这两个工具,非常感谢!但是你能给我解释一下,这个代码到底发生了什么?例如,为什么还有a+=而不仅仅是a=?当您写入=下一个值时@ManuelSarica会删除上一个值。当您写入+=时,它会接受上一个值并将表达式的右部分附加到它,这相当于textbox3.Text=textbox3.Text+i.ToString+Environment.newline谢谢您的快速回答。为什么我必须使用i.ToString,它做什么?我还没有创建任何字符串,所以我还不太明白那里发生了什么。@ManuelSarica C中的所有对象都有ToString方法。Convert.ToString将int强制转换为IConvertible接口,然后调用ToString。看看源代码:->ToString和->ToString已经完成了,但是正如其他人指出的,我总是过度使用它。它们现在都起作用了,我只是用错了。我已经用过了,但正如其他人指出的,我总是过度使用它们。它们现在都能用了,我只是用错了。