WinForms SplitContainer и его интервал и изменение размера
Кажется, у меня много проблем с настройкой SplitContainer так, как мне нравится. У меня есть следующая форма с именем frmMain:
В форме Загрузить код мне нужно следующий код:
With MainContainer
.IsSplitterFixed = True
.Dock = DockStyle.Fill
.SplitterDistance = 200
.FixedPanel = FixedPanel.Panel1
.Panel1.BackgroundImage = Resources.My.Resources.ResourceFile._001
.Panel2.BackColor = Color.White
.Panel2.AutoScroll = True
End With
Когда я запускаю код, я получаю следующее:
Я хочу удалить серый сплиттер, так как он бесполезен. Это распространенная ошибка красоты, и возможно ли ее устранить?
Моя вторая проблема с SplitContainer - если я изменяю размер моего окна, backgroundImage в Panel1 и белый цвет в Panel2 не корректируются с окном. Я искал все выше и ниже к коду Resize, но не могу его найти. Panel2 имеет пользовательские элементы управления, например. Панель инструментов и загружаются таким образом: MainContainer.Panel2.Controls.Add(Dashboard)
,
Также возможно, что Panel2 автоматически подстраивается под значение окна, так что у вас есть только горизонтальная полоса прокрутки?
Спасибо, что прочитали мой вопрос, и, надеюсь, вы сможете помочь мне решить мои проблемы с SplitContainer. Хорошего дня.
2 ответа
У вас есть 2 варианта:
- использование
TableLayoutPanel
(как подсказывает @erdomke) - Используйте 2
Panel
управления
Для 2 панели управления док panel1
в Left
и док panel2
в Fill
, Чтобы заполнить panel2 пользовательским элементом управления с изменяемыми размерами, установите для его свойства Dock также значение Fill.
Я хочу удалить серый сплиттер, так как он бесполезен. Это распространенная ошибка красоты, и возможно ли ее устранить?
Если вы не хотите, чтобы пользователь видел или перемещал разделитель, зачем использовать разделенный контейнер? В качестве альтернативы рассмотрите возможность использования TableLayoutPanel, настроенного с 1 строкой и 2 столбцами. Первый столбец будет иметь абсолютную ширину 200 пикселей, а второй столбец будет иметь ширину 100%. В каждой из двух ячеек вы можете разместить панель, которая закреплена и имеет запас по 0,0,0,0.
Моя вторая проблема с SplitContainer - если я изменяю размер моего окна, backgroundImage в Panel1 и белый цвет в Panel2 не корректируются с окном. ... Также возможно, что Panel2 автоматически подстраивается под значение окна, так что у вас есть только горизонтальная полоса прокрутки?
Хотя я не смоделировал ваше текущее решение, я не смог воспроизвести эти проблемы с помощью быстрого макета решения, которое я предложил выше. Что касается автоматической прокрутки, единственная причина, по которой должны появиться полосы прокрутки, заключается в том, что элемент управления находится за краем экрана или доступное пространство экрана меньше минимального размера панели.