Я пытаюсь создать макет MDI с одной дочерней боковой панелью и несколькими дочерними формами.
При нажатии на кнопку упорядочения я пытаюсь создать макет, как показано на следующем снимке экрана (боковая панельи самый верхний открытый ребенок отображается рядом):
Инициализация боковой панели
sideBarForm = new Form();
sideBarForm.MdiParent = this;
sideBarForm.Show();
sideBarForm.Dock = DockStyle.Right;
sideBarForm.FormBorderStyle = FormBorderStyle.FixedToolWindow;
sideBarForm.Name = "sideBarForm";
Добавление нового потомка
Form childForm = new Form();
childForm.MdiParent = this;
childForm.Show();
Упорядочить макет
private void Arrange_Click(object sender, EventArgs e)
{
foreach (Form child in MdiChildren)
{
if (child.Name != sideBarForm.Name)
{
child.WindowState = FormWindowState.Normal;
child.Width = this.ClientRectangle.Width - sideBarForm.Width - 50;
child.Height = this.ClientRectangle.Height - 150;
}
}
}
Для правильного расположения двух форм рядом друг с другомТребуется «поиграть» с числами.Для ширины я удалил 50px и для высоты 150px.
Как правильно расположить две формы рядом?
Примечание: MDI может содержать несколько открытых форм, поэтому я не могу использоватьSplitContainer или TableLayoutPanel, например.