WinForm с UserControl, содержащий DataGridView, вызывает проблему конструктора - PullRequest
1 голос
/ 20 ноября 2010

У меня очень странная проблема, и я не уверен, почему это происходит или как это предотвратить.Среда: .NET Framework 3.5 Приложение WinForm C # VS2008 Pro

Проблема: у меня есть WinForm, содержащая TabControl, который имеет пользовательский контроль над двумя из его TabPage.Созданный мной usercontrol содержит 3 элемента управления DataGridView.

Каждый раз, когда я захожу в Desiger моей WinForm, я вижу, что есть SIX (3 * 2) экземпляра созданного элемента управления DataGridView.Все они пронумерованы, такие как dataGridView13, dataGridView14 и т. Д. ... В каждом из этих экземпляров DataGridView также создаются связанные экземпляры DataGridViewTextBoxColumn и DataGridViewCellStyle.
Довольно скоро у меня было около 600 экземпляров DataGridView в файле MyWinForm.Designer.cs!!

Почему это происходит и, что более важно, как это предотвратить ???Кто-нибудь видел что-то подобное раньше?

1 Ответ

0 голосов
/ 26 февраля 2011

У разработчика в Visual Studio есть проблемы с обработкой унаследованных элементов управления, особенно с элементом управления DataGridView.Если это также контейнер для дочерних элементов управления, таких как столбцы, то каждый раз, когда вы сохраняете модификацию, будет генерироваться новый набор дочерних элементов.

Единственный способ, который я нашел для решения проблемы, - это внести ваши изменения,сохраните их, затем удалите предыдущий список дублированных элементов управления.Дизайнер, по крайней мере, любезно нумерует их последовательно по типу элемента управления.

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

Извините, у меня нет для вас хороших новостей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...