在winform的文本框新行

时间:2015-05-26 07:57:27

标签: c# winforms textbox

我希望每次在另一个类中发生事件时将字符串传递给form1类中的方法,然后我想在Windows窗体中的TextBox中打印一些多行文本与form1类相关联。

问题是,我将TextBox中的所有文字放在一行中,并希望将其打印在新行上:

private void myEvt_valueChnaged(string s)
{
     textBox1.Invoke(new Action(() => textBox1.Text = s ));
}

我尝试使用+=,然后我在后面的行中获得了文本,而不是在行下面。 我还尝试添加+="/n/r" + s,并按原样在文本框中打印

然后我尝试使用+= Environment.NewLine() + s并收到错误:Environment.NewLine cannot be used like a method .

2 个答案:

答案 0 :(得分:0)

" \ n"对于c#中的新行来说已经足够了。 字符串换行符=" \ n" textBox1.Invoke(new Action(()=> textBox1.Text = newline + s));

答案 1 :(得分:0)

您应该将文本框控件的多行属性设置为 True ,然后调用它:

 textBox1.Invoke(new Action(() => textBox1.Text = String.Concat(textBox1.Text, Environment.NewLine, s)));

如果要将文本附加到新行并保留已存在的文本。否则,您可以使用它将文本放在新行中:

textBox1.Invoke(new Action(() => textBox1.Text = String.Concat(Environment.NewLine, s)));

请注意,Environment.NewLine是属性而不是方法。