C# 异常:System.InvalidOperationException - 在创建窗口句柄之前调用 Invoke 或 BeginInvoke
C# 异常:'System.InvalidOperationException: 在创建窗口句柄之前,不能在控件上调用 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/mFIc 著作权归作者所有。请勿转载和采集!