在winform的文本框中新增一行

本文关键字:新增一 文本 winform | 更新日期: 2023-09-27 17:50:42

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

问题是我将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 .

在winform的文本框中新增一行

"'n "对于c#中的新行来说已经足够好了。字符串换行= "'n "textBox1。调用(new Action(() => textBox1)。

你应该设置文本框控件的Multiline属性为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是一个属性而不是一个方法。