2012-12-03 52 views
1

爲什麼不把這個窗體放到屏幕上?form.Show()中心窗口?

 Form2 mySettings = new Form2(); 
     mySettings.StartPosition = FormStartPosition.CenterParent; 
     mySettings.Show(); 

它工作時,我使用:

mySettings.ShowDialog(); 

但隨着該問題是,同時具有窗體2打開,同時用戶不能訪問的主要形式。

任何想法?

+6

爲什麼不把它設置爲'CenterScreen'? – Blorgbeard

+0

哦,工作!萬分感謝 :) – Jacqueline

回答

0

這是由於FormStartPosition.CenterParent以父母的位置爲中心的事實。 Form.Show()在技術上沒有父項。正如在評論中已經建議的那樣,使用​​將提供期望的行爲。

FormStartPosition.CenterParent應主要在使用Form.ShowDialog(IWin32Window)過載時使用。

如果您需要以其他表單的位置爲中心,則需要使用當前表單的位置和大小自行計算新的窗口座標。然後使用FormStartPosition.Manual設置在新創建的表單中使用提供的位置和大小值。