0

У меня возникла проблема с дизайнером WinForm. Я создал новый UserControl, я добавил DataGridView, некоторые другие элементы и TreeView. С gui я назвал все эти новые компоненты. Теперь пришло время закодировать этот материал, и я понимаю, что дизайнер пропустил мой узел моего TreeView. Дизайнер также добавил новые столбцы из моего DataSource, даже если для параметра AutoGenerateColumn установлено значение false. Я, однако,: «Ну что ж, еще раз, чтобы очистить дерьмо дизайнера ...», и я очистил этот элемент в функции InitializeComponent (я знаю, что он помечен как «Не изменяйте с помощью редактора кода», но ... у меня есть выбор?VS2010 Дизайнер Winform изменит приличный код

Во всяком случае, моя проблема заключается в следующем: когда я вернусь к представлению «Дизайн», VS Designer, похоже, регенерирует код обратно, но даже не так. Теперь дизайнер объявляет мой DataGridView и мой TreeView в качестве локальных членов функции InitializeComponent Я могу легко восстановить и отменить мои изменения, но я хотел бы понять и узнать, есть ли способ отключить генерацию автоматического кода дизайнера.

Кроме того, я попытался сделать еще одну функцию, которая имеет все, что мне нужно поэтому разработчик не испортит его и не назовет его компонентом initialize. ион работает во время выполнения, но не в режиме проектирования. Я немного низок.

ответ

0

Насколько я знаю, короткий ответ - нет. Если что-то помечено как Do not edit due to code generation., то не редактируйте его :). Я бы предложил читать на partial classes, так как вы можете изменять классы без фактического возиться с автоматически сгенерированным кодом. В вашем случае вам нужно будет войти в конструктор и исправить все, чтобы автогенерация работала так, как вы ожидаете.

+0

Да, на самом деле я сделал частичный класс, который делает то, что я хочу, затем вызывает метод InitializeComponent, поэтому дизайнер будет счастлив. Но когда я переключаюсь на дизайн, он говорит, что мой метод нечетного имени: InitializeComponent_so_Designer_does_not_screw_it() не найден в Windows.Forms.UserControl –

+0

Хотя спасибо за ваш ответ, я попытаюсь найти обходное решение и, возможно, сделать различные элементы управления, чтобы определить, что у дизайнера есть проблема ... –

+0

Hrmmm, может быть, какой-то код поможет здесь? –

Смежные вопросы