【发布时间】:2014-03-27 19:14:45
【问题描述】:
我正在尝试从 C# 中的串行端口读取值。 这是接收到新数据时事件处理程序的代码:
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
int bytes = serialPort1.BytesToRead;
counter = bytes;
byte[] comBuffer = new byte[bytes];
serialPort1.Read(comBuffer, 0, bytes);
this.Invoke(new EventHandler(DisplayText));
}
这是字节应该写入文本框但现在填充测试代码的地方:
private void DisplayText(object sender, EventArgs e)
{
counter2 += counter;
RxString = counter2.ToString();
textBox1.AppendText(RxString + "\r\n");
}
所以我喜欢 C 编程,但不喜欢 C#,如果有人能告诉我如何将 byte[] 数组放入事件处理程序以处理数据,我将不胜感激。我最大的问题是数组的长度是可变的。
非常感谢!
【问题讨论】:
-
你为什么打电话给
DisplayText作为一个事件?为什么不只是作为一种方法?我不明白你在这里使用的模式。
标签: c# arrays variables eventhandler