C# 3.0 防止事件从一个到另一个

C# 3.0 防止事件从一个到另一个,c#-3.0,C# 3.0,我的申请表中会弹出一张表格。当表单处于关闭过程中时,用户可以单击表单,当表单最终关闭时,事件由主应用程序处理 是否有方法防止主窗体接收任何事件,除非弹出窗体已关闭且不再可见 Cursor.Current = Cursors.WaitCursor; ... Do some work... RbForm form = new RbForm(Steps); form.ShowDialog(); form.Dispose(); ... Do some more work.... [**] Cursor.

我的申请表中会弹出一张表格。当表单处于关闭过程中时,用户可以单击表单,当表单最终关闭时,事件由主应用程序处理

是否有方法防止主窗体接收任何事件,除非弹出窗体已关闭且不再可见

Cursor.Current = Cursors.WaitCursor;
... Do some work...
RbForm form = new RbForm(Steps);
form.ShowDialog();
form.Dispose();
... Do some more work.... [**]
Cursor.Current = Cursors.Default;
[**]关闭表单后,单击此处的表单将在主应用程序窗口上触发事件

谢谢。

你不需要


ShowDialog以模态方式显示表单,以便应用程序中的其他表单在对话框关闭之前不会收到任何输入。

您应该设置UseWaitCursor属性,而不是Cursor.Current。但是,当对话框关闭时,一些处理正在进行,如果您单击子表单,则需要一段时间,当窗体关闭时,父窗体将接收输入。