我希望每次在另一个类中发生事件时将字符串传递给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 .
答案 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
是属性而不是方法。