VS2010 дизайнер Winform переделывает достойный код
Я столкнулся с проблемой в конструкторе WinForm. Я сделал новый UserControl, я добавил DataGridView, некоторые другие элементы и TreeView. С графическим интерфейсом я назвал все эти новые компоненты. Теперь пришло время кодировать эти вещи, и я понимаю, что дизайнер неправильно назвал мой узел моего TreeView. Дизайнер также добавил новые столбцы из моего источника данных, даже если для AutoGenerateColumn было задано значение false. Я подумал: "Пора снова очистить какую-то хрень Designer...", и я очистил этот материал в функции InitializeComponent (я знаю, что она помечена как "Не изменять с помощью редактора кода", но... есть ли у меня выбор?
В любом случае, моя проблема: когда я возвращаюсь в представление Design, VS Designer, кажется, восстанавливает код обратно, но даже не так, как это было. Теперь дизайнер объявляет мой DataGridView и мой TreeView как локальные члены функции InitializeComponent. Я могу легко исправить и отменить мои изменения, но я хотел бы понять и узнать, есть ли способ отключить автоматическую генерацию кода дизайнера.
Кроме того, я попытался создать еще одну функцию, в которой есть все, что мне нужно, чтобы дизайнер не облажался и не вызвал ее в компонент инициализации. Это решение работает во время выполнения, но не в режиме конструктора. Я довольно низко
1 ответ
Насколько я знаю, короткий ответ - нет. Если что-то помечено как Do not edit due to code generation.
, то не редактируйте его:). Я бы посоветовал прочитать частичные классы, так как именно так вы можете изменять классы, не вмешиваясь в автоматически сгенерированный код. В вашем случае вам нужно будет зайти в конструктор и исправить все там, чтобы автогенерация работала так, как вы ожидаете.