任务栏中显示的辅助表单的模态对话框

时间:2009-07-21 19:14:59

标签: vb.net forms modal-dialog

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

有没有办法确保模式对话框不会在辅助表单下面绘制?最顶层的属性并不好,因为它吸取了所有内容,甚至是与应用程序无关的内容。

1 个答案:

答案 0 :(得分:4)

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

  

拥有的Windows通常不需要在Windows任务栏上使用自己的表示形式,因为它们从属于其所有者。因为激活拥有的窗口隐式地激活所有者,反之亦然,所以它只会使任务栏混乱以具有两者的条目。所以拥有的表单通常将其ShowInTaskBar属性设置为false。

     

以下代码片段(在VB和C#中)显示正在创建,拥有和显示的新表单:

     

// defining an owner form in C#

     

MyForm ownedForm = new MyForm();

     

ownedForm.ShowInTaskbar = false;

     

AddOwnedForm(ownedForm);

     

ownedForm.Show();

在您的情况下,您似乎需要设置对话框的所有者窗口。这样可以防止呈现对话框的窗口出现 over

编辑应该引用我的来源:.NET Windows Forms in a Nutshell。另外,我省略了VB.NET代码。我已经适当地鞭打了自己,但是不想趟过PDF文件来追踪它。

相关问题