为MethodInvoker委托声明EndInvoke
本文关键字:声明 EndInvoke MethodInvoker | 更新日期: 2023-09-27 18:05:43
如何为BeginInvoke
声明EndInvoke
:
this.BeginInvoke((MethodInvoker) delegate() {
frmPressEnableButton.ShowDialog();
});
?
UPDATE:这是我在运行时不断得到的两个错误消息1. 在创建窗口句柄之前,可以在控件上调用Invoke
或BeginInvoke
。2. 已经可见的窗体不能显示为模态对话框。在调用ShowDialog之前,将窗体的Visible属性设置为false。
应该注意的是,这个问题是在我添加了另一个对话框之后引发的1. 我通过引用传递主形式本身2. 我没有为新的对话框调用Invoke
或BeginInvoke
。它必须在后台运行
不确定你想做什么,但看起来你需要一个IAsyncResult
接口来保持异步操作的结果,并在以后的EndInvoke
方法中使用它:
IAsyncResult result = this.BeginInvoke((MethodInvoker) delegate() {
frmPressEnableButton.ShowDialog();
});
this.EndInvoke(result); // waits until the async call completes