Начиная с нуля в новом проекте, в котором свойства формы Form1 по умолчанию не были изменены, я помещаю SplitContainer в форму и устанавливаю его свойства на:
Якорь - вверху, слева
Док - Заливка
Ориентация - Вертикальная
Затем я помещаю второй SplitContainer в левую панель (панель 1) первого SplitContainer и снова устанавливаю его свойства на указанные выше, за исключением того, что на этот раз ориентация разделителя установлена горизонтально.
Теперь я помещаю два элемента CheckedListBox в верхнюю и нижнюю панели (панели 1 и 2) второго SplitContainer. Свойства обоих CheckedListBoxes установлены на:
Якорь - вверху, слева
Док - Заливка
Теперь я добавляю TextBox на правую панель (панель 2) первого SplitContainer и устанавливаю его свойства:
Якорь - вверху, слева
Док - Заливка
Многострочный - Верно
Когда я компилирую и запускаю это приложение, вертикальный разделитель, который является частью первого добавленного мною SplitContainer, ведет себя и работает точно так, как ожидалось - так что никаких проблем. Однако горизонтально ориентированный разделитель во втором SplitContainer постоянно демонстрирует неустойчивое поведение - ширина самого разделителя изменяется при его перемещении вверх и вниз. Но это увеличение или уменьшение ширины разветвителя также не согласуется с направлением, в котором он был перемещен - например, перемещение его на некоторое расстояние от исходного положения при запуске может привести к тому, что разветвитель станет тоньше, чем он был ранее, когда дальнейшее увеличение размера приводит к тому, что он становится толще.
Нижний край нижнего элемента CheckedListBox также перемещается вверх и вниз, когда я перемещаю разделитель, и, как и раньше, это поведение не согласуется с направлением, в котором перемещается разделитель.
Чтобы избежать переноса изменений свойств компонента из одного эксперимента в другой, я пытался выяснить, что происходит, начиная с полдюжины или около того новых проектов с нуля и пробуя разные вещи, включая изменения в Anchor, BorderStyle, Dock. , и свойства Margin, но, к сожалению, я не стал мудрее: - (
Кто-нибудь имел подобный опыт такого беспорядочного поведения и может предложить мне решение? Я могу упустить из виду что-то простое, если да, то что?
Спасибо за чтение.
Edit \ Update - После дальнейших экспериментов я смог определить, что нежелательное поведение, с которым я столкнулся, каким-то образом связано с CheckedListBoxes - я заменил оба многострочных текстовых поля, свойства "Anchor" и "Dock" были установлены на "Top, Влево »и« Заливка »соответственно, и при запуске приложения неустойчивое поведение больше не возникает - как вертикальный, так и горизонтальный разделители работают правильно.