Контекст:управления пользователя Anchor вопрос о собственности
Я создал User Control
. По какой-то причине я хочу использовать этот элемент управления разного размера. Чтобы сохранить начальный «шаблон» моего User Control
при повторной калибровке, я использую свойство Anchor на моем другом элементе внутри элемента управления.
Так что, когда я создаю свой контроль на время разработки, можно мне рук повторного размера контроля и сохранить оригинал «шаблон» его.
Когда элемент управления создан, он выглядит следующим образом:
И после повторного размера:
Как вы можете видеть, свойство Anchor работы Что ж.
- Наклейка и изображение остаются посередине.
- "?" Оставайтесь в левом углу.
Проблема:
Проблема у меня есть, когда элемент управления перезагружается, созданные с помощью другого размера, как исходного, все элементы внутри возвращаются в исходное положение:
Я не знаю, является ли это лучшим способом сделать то, что я пытаюсь достичь. Имейте в виду, что я добавляю и повторно настраиваю элемент управления во время разработки.
спасибо.
EDIT:
Я думаю, что моя проблема вызвана дизайнером. Пример: я добавляю свой контроль в конструктор, я меняю размер, я запускаю решение. Все работает хорошо. Но когда я перехожу к коду страницы, а затем возвращаюсь к конструктору, элемент внутри элемента управления возвращается в исходное положение.
EDIT 2:
Хорошо я нашел решение, я просто перешел весь элемент User control
внутри Panel
. По какой-то причине я не могу объяснить, он отлично работает. Контроль находится в том же месте.
Вы можете использовать ResizeEnd событие, чтобы применить те же свойства, которые они использовали, чтобы иметь в ResizeBegin. Когда вы говорите, что перезагрузили, значит, что элемент управления получает полный новый экземпляр? Если это так, он всегда должен вызывать InitializeComponent, который применяет свойства, определенные в конструкторе. –
Im не совсем уверен, что попробовать, потому что моя проблема, похоже, является причиной в дизайнере. Пример: я добавляю свой контроль в своем дизайнере, меняю его размер, я запускаю решение. Все работает хорошо. Но когда я перехожу к коду страницы, а затем возвращаюсь к дизайнеру, элемент внутри элемента управления возвращается в исходное положение ... –
Это слишком расплывчато. Вам нужно будет объяснить, как именно этот элемент управления получил «перезагрузку», но больше не использовал его оригинальный размер дизайна. И почему обычный вызов PerformLayout(), который выдается после загрузки элементов управления, больше не выполняется. –