我正在编写一个继承的DataGridView控件,默认情况下它将有两列。DGV生活在一个用户控件GeneralTabPanel上,它继承了从MainTabPanel继承而来的UserControl。原因是MainTabPanel包含每个继承面板都必须重写的虚拟函数。
问题是,每当我查看设计器中的GeneralTabPanel并点击Build,Visual 2013将在设计器中生成两列并将它们添加到DGV中。
SuperDataGridView
using System.Windows.Forms;
namespace AnyGameEngineEditor {
public class SuperDataGridView : DataGridView {
public SuperDataGridView () {
this.ColumnCount = 2;
}
}
}GeneralTabPanel
namespace AnyGameEngineEditor {
public partial class GeneralTabPanel : MainTabPanel {
public GeneralTabPanel () {
InitializeComponent ();
}
}
}MainTabPanel
using System.Windows.Forms;
namespace AnyGameEngineEditor {
public partial class MainTabPanel : UserControl {
public MainTabPanel () {
InitializeComponent ();
this.Dock = DockStyle.Fill;
}
}
}这是我用VS2013 Express在我的机器上复制问题的最基本的方法。这就是如何复制(我还没有在另一台机器上实际测试过这个):
GeneralTabPanel。GeneralTabPanel文件。DataGridViewTextBoxCell文件的底部应该有两个新的.cs变量。我发现,如果我在MainTabPanel中注释掉了MainTabPanel行,就不会发生这种情况。
所以,最终我的问题是,为什么世界上会发生这种事?
发布于 2014-01-30 02:41:43
将AutoGenerateColumns设置为false。
发布于 2014-01-30 02:42:29
每次打开表单时,如何清除数据视图?Form1.DataGridView1.Columns.Clear()
https://stackoverflow.com/questions/21446678
复制相似问题