Как мне это нужно:C# Windows Forms Как сохранить местоположение и размер управления относительно постоянным в его родительском контейнере?
Dock:
Я не хочу, чтобы прикрепить ее к какой-либо из сторон в принципе.
Anchor для всех сторон:
keeps the corner location constant
Anchor Нет:
Он делает сохраняет расположение относительно постоянной, но не изменять их вообще.
И я вне вариантов, кроме изменения события изменения размера контейнера. Контроль и повторение всех его детей, на которые я верю.
Пожалуйста, покажите мне более чистый способ, спасибо.
Edit: у меня будет несколько элементов управления, плавающие в этом контейнере. Таким образом, TableLayoutView
не является вариантом для этого случая.
Кроме того, в ответ от sam он предлагает вручную выполнить эту работу, как я боялся. Ну, я думаю, мне придется это делать так.
Копирование вручную с помощью элементов управления детьми на событие управления контейнером Resize
.
Я помечаю это как решение, хотя я не удовлетворен.
это выглядит как масштабирование, работа в 'ViewBox' в WPF, но я не думаю, что это будет е asy в winforms. Ручное изменение размера является одним из возможных: подписаться на контейнер ['SizeChanged'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.control.sizechanged (v = vs.110) .aspx) события и перемещение детей. Или попробуйте использовать «TableLayoutPanel» с относительными единицами для столбцов и строк. – Sinatr