2013-10-15 70 views
0

我無法得到一個子窗體中心父窗體MDI形式 - CentreParent

我試圖把下面的代碼在父窗體的Load()事件 -

frmSplash frmS = new frmSplash(); 
frmS.MdiParent = this; 
frmS.StartPosition = FormStartPosition.CenterParent; 
frmS.Show(); 

我也嘗試在Visual Studio中將CentreParent設置爲默認值。

但是,子窗體總是出現在父窗體的左上角,我無法弄清楚爲什麼。

任何人都有任何線索,或對我可能做錯的建議嗎?

[編輯]

後一對夫婦的答案被貼我也試過

private void frmMain_Load(object sender, EventArgs e) 
{ 
    try 
    { 
     frmSplash frmS = new frmSplash(); 
     frmS.MdiParent = this; 
     frmS.StartPosition = FormStartPosition.CenterScreen; 
     frmS.Show(); 
    } 
    catch (Exception eX) 
    { 
     throw new Exception("frmMain: Load()" + Environment.NewLine + eX.Message); 
    } 
} 

但CentreScreen無法正常工作或

+0

張貼的代碼工作(中心屏幕版本),所以我的猜測是frmSplash被拋出異常。請參閱[爲什麼表單加載無法捕獲異常?](http://stackoverflow.com/q/3209706/719186)。 – LarsTech

回答

2

我認爲CenterParent只適用於Parent不適用於MDIParent

試試這個它的工作原理

frmS.StartPosition = FormStartPosition.CenterScreen; 
2

嘗試改變這一點:

frmS.StartPosition = FormStartPosition.CenterParent; 

要這個:

frmS.StartPosition = FormStartPosition.CenterScreen; 
相關問題