c# - 从事件处理程序更改 textBox.text
问题描述
似乎无法在这里找到我一生的答案。无论如何,事件处理程序如何更改 Form 的 textBox.text?
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
//Do what ever you want with the data
textBox2.Text = "test"; //alas, this doesn't work
}
按下按钮时创建事件处理程序
private void button3_Click(object sender, EventArgs e)
{
serialPort1.PortName = comboBox1.Text;
serialPort1.BaudRate = Convert.ToInt32(comboBox2.Text);
serialPort1.RtsEnable = true;
serialPort1.DtrEnable = true;
serialPort1.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
serialPort1.Open();
}
}
任何帮助是极大的赞赏
解决方案
该DataReceivedHandler
方法被标记static
,因此它不能访问实例成员textBox2
。删除static
能解决问题吗?
推荐阅读
- python - 替换熊猫 DatafFame 中的值
- python - 使用 geopandas 和 geoplot 在 NYC 地图上绘制位置
- repeater - COGNOS 报告使用中继器时性能不佳
- python - 在pycharm中通过sqlite打开连接时出错
- asp.net - 如何修复部分身份验证绕过?
- java - 如何写入文件而不实际在服务器上创建文件
- python - Python从日期时间输入中获取上周日的日期
- web - 我需要什么类型的公式
- reactjs - 如何使用@testing-library/react 测试 AG Grid?
- python-3.x - 是否可以在 python 中将连接字符串传递给 StrictRedis?