我对 C#.NET 下的表单形式有疑问。假设我有主表单#0(见下图)。此表单代表主应用程序表单,用户可以在其中执行各种操作。但是,有时需要打开额外的非模态表单来执行额外的主要应用程序功能支持任务。假设这是图像中的表格#1。在这个 #1 表单上,可能会打开几个额外的模态表单(图像中的 #2 表单),最后,有一个进度对话框显示较长的操作进度和状态,这可能需要几个几分钟到几个小时。问题是主窗体#0 在您关闭所有模式窗体(图像中的#2)之前没有响应。我需要主窗体#0 在这种情况下可以运行。然而,如果您在表单#2 中打开一个非模态表单,您可以使用模态#2 表单和新创建的非模态表单进行操作。我需要主窗体#0 和窗体#1 及其所有子窗体之间的相同行为。可能吗?还是我做错了什么?也许有某种解决方法,我真的不想将所有 ShowDialog 调用更改为 Show ...
图片 http://img225.imageshack.us/img225/1075/modalnonmodalproblem.png