2014-01-16 3 views
0

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

FormB bForm = new FormB(this);     
blpForm.Show();    

Теперь это работает отлично, но форма b является меньшей формой и появляется за пределами моей первоначальной формы. Я не хочу, чтобы это было «Inside» в оригинальной форме, я просто хочу, чтобы ее начальная позиция была центром исходной формы.

Как мне это сделать?

+1

Набор 'FormStartPosition = Manual', то calcualte х, у и устанавливается в' blpForm.Location' –

+0

Попробуйте прочитать: http://stackoverflow.com/questions/225741/how- в-StartPosition-на-а-окон-форм-формы, использующая-код делать-вы-набор, – Rayet

ответ

0

Как насчет этого кода? Как Rotem сказал here,

FormB bForm = new FormB(); 
bForm .StartPosition = FormStartPosition.Manual; 
bForm .Location = new Point(this.Location.X + (this.Width - bForm.Width)/2,  
    this.Location.Y + (this.Height - bForm.Height)/2); //this is just an example , you can customize the location 
bForm .Show(); 
1

Вы должны установить свое местоположение самостоятельно, а это значит, что вы также должны установить его StartPosition в Manual. Это базовая арифметика для расчета местоположения диалога на основе местоположения и размера вызывающего абонента и размера диалога.

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