在创建窗口句柄之前,无法在控件上调用 Invoke 或 BeginInvoke
我收到此错误: 在创建窗口句柄之前,无法在控件上调用 Invoke 或 BeginInvoke。
在这些方面:
m_SplashForm.Invoke(
new SplashStatusChangedHandle(delegate(string str) { m_SplashInterface.SetStatusInfo(str); }),
new object[] { value }
);
我正在尝试使用 Application.Exit()
任何人都可以帮助我吗?
提前致谢
I'm getting this error:
Invoke or BeginInvoke cannot be called on a control until the window handle has been created.
On these lines:
m_SplashForm.Invoke(
new SplashStatusChangedHandle(delegate(string str) { m_SplashInterface.SetStatusInfo(str); }),
new object[] { value }
);
I'm trying to use Application.Exit()
Can anyone help me?
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
错误消息几乎说明了一切。在创建基础句柄之前,不能在控件上使用 Invoke 和 BeginInvoke。这通常发生在表单最初显示时。你不显示表格吗?
您还可以通过调用 CreateControl 方法来强制解决该问题。
The error message pretty much says it all here. Invoke and BeginInvoke cannot be used on a control until the underlying handle is created. This typically happens when the Form is initially displayed. Are you not displaying the form?
You can also force the issue by calling the
CreateControl
method.挂钩 Control.OnHandleCreated 事件,然后您将被允许执行 Application.Exit()。
Hook to the Control.OnHandleCreated event then you will be permited to do Application.Exit().