private void PowerMeter_GetStepstring obj thisInvokenew Action = textBox2Text += rn; ; SystemInvalidOperationException在创建窗口句柄之前不能在控件上调用 Invoke 或 BeginInvoke。
这个异常是由于在创建窗口句柄之前,即在窗体加载完成之前,尝试在控件上调用Invoke或BeginInvoke方法造成的。
解决方法是将Invoke或BeginInvoke方法的调用放在窗体加载完成后的事件中,比如Load事件中。例如:
private void Form1_Load(object sender, EventArgs e) { // 在窗体加载完成后才能调用Invoke或BeginInvoke方法 PowerMeter.GetStep += PowerMeter_GetStep; }
private void PowerMeter_GetStep(string obj) { textBox2.Invoke(new Action(() => { textBox2.Text += "\r\n"; })); }
这样就可以避免这个异常的出现。
原文地址: https://www.cveoy.top/t/topic/beJf 著作权归作者所有。请勿转载和采集!