2013-10-15 1 views
0

У меня возникли проблемы с получением ребенка формы до центра в родительской формеMDI формы - CentreParent

Я попытался положить следующий код в Load() события родительской формы -

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

Я также попытался установить свойство для формы Child в Visual Studio, поставив CentreParent в качестве значения по умолчанию.

Однако дочерняя форма всегда отображается в верхнем левом углу родительской формы, и я не могу понять, почему.

У любого есть какие-либо подсказки или предложения по поводу того, что я могу делать неправильно?

[EDIT]

После нескольких ответов были размещены также попытался

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

Опубликованный код работает (версию CenterScreen), так что мое предположение является 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; 

 Смежные вопросы

  • Нет связанных вопросов^_^