我的应用程序有两种窗体,可以在Windows任务栏中看到。在主窗体上弹出模式对话框时,辅助表单被锁定。但是,当用户单击任务栏上的辅助窗体时,它会显示在模式对话框上,并且基本上是冻结的。任务栏中显示的辅助窗体的模态对话框
有没有一种方法可以确保模态对话框不会在次表单下绘制?最顶层的属性是不好的,因为这会吸引所有的东西,甚至与应用程序无关的东西。
我的应用程序有两种窗体,可以在Windows任务栏中看到。在主窗体上弹出模式对话框时,辅助表单被锁定。但是,当用户单击任务栏上的辅助窗体时,它会显示在模式对话框上,并且基本上是冻结的。任务栏中显示的辅助窗体的模态对话框
有没有一种方法可以确保模态对话框不会在次表单下绘制?最顶层的属性是不好的,因为这会吸引所有的东西,甚至与应用程序无关的东西。
你的问题可能是你没有指定所有者的对话框:
拥有的窗口通常不需要Windows任务栏上自己的表现,因为他们都从属于它们的主人。因为激活一个拥有的窗口会隐式地激活拥有者,反之亦然,它只会使任务栏混乱而拥有两个项目。所拥有的表单通常将其ShowInTaskBar属性设置为false。
以下代码片段(在VB和C#)示出一种新形式的创建,拥有,并显示:
// defining an owner form in C#
MyForm ownedForm = new MyForm();
ownedForm.ShowInTaskbar = false;
AddOwnedForm(ownedForm);
ownedForm.Show();
在你的情况下,它会出现,你需要设置所有者窗口的对话框。这将防止是呈现出现该对话框在它的窗口。
编辑应该引用我的来源:.NET Windows Forms in a Nutshell。另外,我省略了VB.NET代码。我已经适当地鞭打自己,但不想通过PDF文件来追踪它。
我爱你的男人。您解决的主要问题为我们的应用程序组:) 荣誉。 – jgallant 2009-07-22 10:26:51