2009-07-21 32 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

相關問題