我想从我的串口获取数据,并将这些数据显示在文本框中。但是当我运行mu代码时,它只会在文本框中显示一行,并被替换为下一行。但我要把绳子的每个部分放在下一个。
private void button1_Click(object sender, EventArgs e)
{
SerialPort serP = new System.IO.Ports.SerialPort("COM3", 9600, System.IO.Ports.Parity.None, 8, System.IO.Ports.StopBits.One);
while (true)
{
serP.Open();
serP.WriteLine("test");
string dataIn = serP.ReadLine();
textBox1.Text = dataIn;
serP.Close();
}
}这是我的代码,我希望有人能帮我解决这个问题。瑞克
发布于 2015-01-21 09:22:45
只需连接您的文本:
textBox1.Text += dataIn + Environment.NewLine; 并确保您的文本框是多行的(textBox1.Multiline = true表示standart Windows.Forms.TextBox或类似的内容,如果它是来自某些控件库的textbox )
发布于 2015-01-21 09:33:57
我会同意Andy Korneyev的回答。但如果你想把每个部分都放在新的行里,你可以像下面这样修改他的代码,
textBox1.Text += dataIn + Environment.NewLine;另外,如果要在后面的代码中将textbox设置为MultiLine,
textBox1.TextMode = TextBoxMode.MultiLine;注意:,我假设您正在使用WinForms。如果是这样,也可以使用RichTextBox控件。它不需要设置有MultiLine。
发布于 2015-01-21 09:41:11
我同意帕万的观点。如果您想使用多行,我也会更喜欢RichtTextBox。
此外,如果您只想显示某物,您也可以使用一个简单的标签。
我认为,对于用户来说,这比在TextBox中使用它要好得多,但如果您想要在其他事情中不使用它而只显示,则只使用。
https://stackoverflow.com/questions/28063482
复制相似问题