У меня была такая же проблема некоторое время назад. В моем случае у меня была кнопка и ListView в GroupBox, который находился внутри SplitContainer, который находился в UserControl в TabControl. Я хотел, чтобы кнопка в правом верхнем углу располагалась и привязывалась, и ListView занимал оставшееся пространство, поэтому я не мог ее состыковать. Вместо этого он был закреплен во всех четырех местах.
В моем случае моя кнопка и listview работают корректно в дизайнере, но в моем запущенном приложении кнопка была расположена далеко справа, а размер ListView также имел слишком большую ширину.
Для первого исправления я сделал несколько итераций относительно позиционирования кнопки в дизайнере немного больше влево, проверьте ее режим работы, переустановите кнопку в дизайнере из впечатления, которое я имел в последнем прогоне.
Так что я получил его на работу и начал с другой вещи, которую я должен был сделать в своем приложении. Через некоторое время у меня появился новый запрос функции и нужна еще одна кнопка в этой грязной вещи. На этот раз я сделал полную перестройку элементов gui в новом usercontrol, просто чтобы увидеть, появляется ли проблема снова. К моему удивлению, этот gui mock просто повел себя так, как ожидалось.
В моем коде я ничего не знал об изменении местоположения, размера, якорях, доках и т. Д. Таким образом, проблема должна была быть в коде InitializeComponents()
, созданном дизайнером.
Я начал с разницы обеих версий и не видел больших различий (их было много, но только несовершеннолетних, таких как размер, местоположение или имя). Поэтому я начал выкладывать код из моего сумасшедшего пользовательского контроля в макет и запускать макет в своем приложении. После нескольких копий проблема также появляется в моем макете, поэтому я получил основную причину проблемы.
Как вы думаете, какое свойство привело к безумному поведению?
Это был MinimumSize моего SplitContainer!
Чтобы получить действительно основную причину вашей проблемы, вы должны начать с пустого UserControl (или Form) и просто поместить все элементы на нем с желаемым поведением (размер, местоположение, привязка, док-станция).
Ничего больше!
Затем проверьте, подходит ли этот макет, как вы хотите, а если нет, разместите здесь этот код и сообщите нам, что вы ожидали увидеть.
Каковы опорные точки для каждого элемента управления? Вы можете обнаружить, что вам нужно установить правильные опорные точки. – Kane
точки привязки для дерева вид слева, сетка - слева-направо-снизу, а для панели кнопок - rigth-bottom .. – Royson
Как вы ожидаете, что элементы управления будут видны или подходят для минимизированного окна? –