2009-07-21 19 views
3

我的应用程序有两种窗体,可以在Windows任务栏中看到。在主窗体上弹出模式对话框时,辅助表单被锁定。但是,当用户单击任务栏上的辅助窗体时,它会显示在模式对话框上,并且基本上是冻结的。任务栏中显示的辅助窗体的模态对话框

有没有一种方法可以确保模态对话框不会在次表单下绘制?最顶层的属性是不好的,因为这会吸引所有的东西,甚至与应用程序无关的东西。

回答

4

你的问题可能是你没有指定所有者的对话框:

拥有的窗口通常不需要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文件来追踪它。

+0

我爱你的男人。您解决的主要问题为我们的应用程序组:) 荣誉。 – jgallant 2009-07-22 10:26:51

相关问题