Для немодальной формы это решение.
Если вы хотите показать немодальное диалоговое окно в центре родительской формы, вам необходимо установить StartPosition
дочерней формы на FormStartPosition.Manual
.
form.StartPosition = FormStartPosition.Manual;
form.Location = new Point(parent.Location.X + (parent.Width - form.Width) / 2, parent.Location.Y + (parent.Height - form.Height) / 2);
form.Show(parent);
В .NET Framework 4.0 - если для свойства ControlBox дочерней формы установить false
, а для свойства FormBorderStyle
- NotSizable
, как показано ниже:
form.ControlBox = false;
form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
, тогда вы столкнетесьпроблема, при которой часть дочерней формы не отображается, если для StartPosition
установлено значение FormStartPosition.Manual
.
Чтобы решить эту проблему, необходимо установить для свойства Localizable
дочерней формы значение true
.