通常当我使用Visual Studio GUI向表单添加控件时,它会将定义控件的所有代码写入名为“.Designer.CS”的单独的部分类文件中。此部分类通常包含每个控件的私有字段,因此非设计器部分类可以访问控件。
我已将GroupBox **中的DataGridView添加到表单中。然而,在设计器部分类中没有为网格生成字段。控件正在正确创建,但没有定义任何字段,我可以从我的代码中访问控件。
我尝试更改设计器文件,以便控件引用私有字段而不是局部变量。这可行,但我一直在尝试通过Visual Studio属性窗口编辑DataGridView的属性,最终删除此字段并破坏我的代码。
有没有理由在窗体的设计器部分类中Visual Studio没有为DataGridViews设置私有字段?我怎么想进入网格呢?
答案 0 :(得分:0)
您是否继承了DataGridView并对其进行了一些更改?表格肯定会创建一个对设计师添加DGV的参考,但我不确定为什么这不会发生。 在任何情况下,您都不应对设计器生成的类进行任何手动更改,因为当设计器重新生成该类时,这些更改将会中断。
您始终可以通过代码手动将DataGridView添加到GroupBox:
DataGridView dgv = new DataGridView(); dgv.Dock = DockStyle.Fill;
myGroupBox.Controls.Add(DGV);
答案 1 :(得分:0)
听起来很奇怪。如何将datagridview再次添加到表单中,而不是调整其任何属性。默认情况下应将其命名为“datagridview1”(假设表单上只有一个datagridview)。现在当你回到代码中时,当你输入“this”时,intellisense会识别它吗?如果是这样,它可能在某个地方的Designer代码中,但你只是没有看到它。只是一个想法。