包含DataGridView的UserControl的WinForm会导致Designer问题

时间:2010-11-19 21:50:56

标签: winforms visual-studio-2008 user-controls datagridview designer

我有一个非常奇怪的问题,我不确定它为什么会发生或者如何防止它。 Envionment: .NET Framework 3.5 WinForm应用程序 C# VS2008 Pro

问题: 我有一个包含TabControl的WinForm,它在两个TabPage上有一个自定义的usercontrol。 我创建的usercontrol包含3个DataGridView控件。

每次我进入WinForm的Desiger时,我都会看到创建了一个DataGridView控件的SIX(3 * 2)实例。 它们都是编号,如dataGridView13,dataGridView14等... 沿着每个DataGridView实例,还会创建关联的DataGridViewTextBoxColumn和DataGridViewCellStyle实例。
很快,我在MyWinForm.Designer.cs文件中有近600个DataGridView实例!!

为什么会发生这种情况,更重要的是如何防止它? 任何人都看过这样的事情吗?

1 个答案:

答案 0 :(得分:0)

Visual Studio中的设计器在处理继承的控件时遇到问题,尤其是使用DataGridView控件时。如果它也是子控件的容器(如列),则每次保存修改时都会生成一组新的子项。

我找到解决问题的唯一方法是进行修改,保存它们,然后删除以前的重复控件列表。设计师至少有礼貌地按照控制类型对它们进行编号。

哦,为自己省去重命名任何控件的挫败感。当设计器生成新集时,它将恢复为默认的命名实践。

抱歉,我没有更好的消息。