2009-05-29 19 views
6

我有一個窗體窗口,彈出一個對話框,如果在表單加載時滿足條件。問題是窗口不能保持最佳狀態,我仍然可以點擊父項。然而,當按下按鈕時,按鈕會打開同一個窗口,當我這樣做時它按預期工作(如對話窗口)。ShowDialog()不會使窗口模式

首次加載表單時顯示對話框有問題嗎?

+1

你正確設置所有者? – OregonGhost 2009-05-29 15:28:39

回答

2

你是否從Form類調用ShowDialog?因爲如果從另一個表單調用,它將只設置父窗口。或者,您可以使用具有IWin32Window參數的過載來專門設置所有者。

0

你能解釋一下這個問題進一步,因爲這是我的代碼不顯示的形式,它的自我,直到對話框關閉或者你設置的父母或不

private void Form1_Load(object sender, EventArgs e) 
     { 
      //your functionality goes here  
      AboutBox1 box = new AboutBox1(); 
      box.ShowDialog(); 
     } 
    } 

的另一邊,你也可以檢查TopMost屬性

0

ShowDialog方法需要從窗體中調用,您希望它成爲父窗體或所有者窗體,以使窗體成爲該窗體的模態。或者我相信你可以直接設置對話框的所有者,但我從來沒有必要這樣做。

0

DaBomb,

做你想做什麼,你必須從你的主窗體的構造函數中調用你的模態對話框,而不是從Form_Load事件。

事情是這樣的:

public Form1() 
    { 
     InitializeComponent(); 
     this.Show(); 
     Form2 popupForm = new Form2(); 
     popupForm.ShowDialog(); 
    } 
相關問題