Я использую DockPanel Suite, но столкнулся с проблемой из-за относительно скудной документации.
У меня есть две пристыкованные панели: одна, которая стыкуется слева и справа, называется «Сторона», а другая, которая стыкуется снизу, называется «Нижняя». Я хотел бы, чтобы сторона заполнила высоту формы, а нижняя часть заполнила остальную часть.
Итак, я стремлюсь к следующему:
Но вместо этого у меня есть следующее:
Когда я запускаю программу, я получаю второй вариант, и если я перетащу Bottom наружу, чтобы плавать, а затем перетащу его обратно, он будет закреплен так, как я хочу, но я не могу добиться этого программно.
Вот мой код:
public Form1()
{
InitializeComponent();
SideForm side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
BottomForm bottom = new BottomForm();
bottom.Show(dockPanel, DockState.DockBottom);
}
Я пытался изменить порядок, но это не имеет никакого эффекта. Я пробовал копаться в различных свойствах и методах, но документации не так много, поэтому IntelliSense здесь не очень помогает.
Обновлять
Я пытался переместить боковую панель вперед и/или отодвинуть нижнюю панель назад, как предложили два человека, но это не дало никакого эффекта. Вот полный код для этого:
public Form1()
{
InitializeComponent();
SideForm side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
BottomForm bottom = new BottomForm();
bottom.Show(dockPanel, DockState.DockBottom);
// I've tried enabling these one at a time, and even both at once, no effect
side.BringToFront();
bottom.SendToBack();
}
Пользователь Лекс Ли сделал еще одно предложение о том, чтобы сначала создать документ, а затем пристыковать его к нижней части. Казалось, это сработало, за исключением того, что теперь в нижнем окне нет следующего:
Вот код, который я использовал для создания этого:
doc = new Document();
doc.Show(dockPanel, DockState.Document);
side = new SideForm();
side.Show(dockPanel, DockState.DockRight);
bottom = new BottomForm();
bottom.Show(doc.Pane, DockAlignment.Bottom, 0.3);
Я могу избежать этого, установив для свойства DocumentStyle
основной док-панели значение DockingMdi
или DockingWindow
, что дает мне следующее:
Но тогда есть те вкладки, которые мне не нужны; Я предпочитаю использовать стиль DockingSdi
.
Итак, я пытаюсь программно добиться стыковки в самый низ, вот так: Показываю расположение стыковки...
И, наконец, пристыкованное окно