IntializeComponent продолжает перезаписываться - PullRequest
0 голосов
/ 07 февраля 2011

У меня в InitializeComponent есть некоторые условия, которые влияют на макет на основе некоторых переменных.К сожалению, кажется, что всякий раз, когда я перестраиваю свое приложение, этот код возвращается к своему предыдущему состоянию.Этот код регенерируется на основе интерфейса дизайнера?Есть ли способ предотвратить это?

1 Ответ

2 голосов
/ 07 февраля 2011

Да, InitializeComponent полностью генерируется IDE; даже не пытайтесь возиться с этим.

Если у вас есть условная логика, в которой вы хотите добавить / удалить некоторые элементы управления, сделайте это в конструкторе элемента управления после автоматически сгенерированного вызова InitializeComponent.

Обратите внимание, что если условный материал будет зависеть от функций, включенных / отключенных во время разработки (например, если кто-то еще использует ваш элемент управления, и вы предоставили свойства, влияющие на поведение этого элемента управления, которое вы намерены установить во время разработки ), использование конструктора не будет работать, так как конструктор уже запустится к тому времени, когда пользователь сделает свой выбор из представления конструктора; в этом случае переопределите метод OnLoad и поместите туда свою логику (или сделайте некоторую вариацию этого, например, обработайте само событие Load - существует множество способов обнажить этого кота).

...