我正在编写一个继承的DataGridView
控件,默认情况下会有两列。 DGV位于用户控件GeneralTabPanel
上,该控件继承自MainTabPanel
继承的UserControl
。原因是MainTabPanel
包含每个继承面板必须覆盖的虚函数。
问题是每当我查看Designer中的GeneralTabPanel
并点击Build时, Visual Studio Express 2013 将在Designer中生成两列并将它们添加到DGV。< / p>
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
变量。我发现如果我在Dock
中注释掉MainTabPanel
行,则不会发生这种情况。
所以最终我的问题是为什么世界上会发生这种情况?
答案 0 :(得分:0)
将AutoGenerateColumns
设为false。
答案 1 :(得分:0)
每次打开表单时如何清除datagridview? Form1.DataGridView1.Columns.Clear()