C# 自定义DataGridView返回包含列的对象
我想创建自定义DataViewGrid,其构造函数接受一些参数,并在其类定义中向将装箱的实例添加一些数据 比如说C# 自定义DataGridView返回包含列的对象,c#,winforms,datagridview,C#,Winforms,Datagridview,我想创建自定义DataViewGrid,其构造函数接受一些参数,并在其类定义中向将装箱的实例添加一些数据 比如说 public partial class DataGridView : Control { //Constructor public DataGridView(string someColumnName) { // Will not compile, that is the questions,
public partial class DataGridView : Control
{
//Constructor
public DataGridView(string someColumnName)
{
// Will not compile, that is the questions,
// how to access property Columns inside class definition
this.Columns.Add(someColumnName);
}
}
//On usage side
//Initializing the grid with already one column
var customGrid = new DataGridView("Some Column Name");
//I want to already have object with this column
customGrid.Columns.add("Some Column Name");
“此”没有属性列。如何在网格的构造函数中添加列?或者如何在内部执行任何其他操作,这是我创建对象后可以执行的操作,在这种情况下是customGrid对象。要使控件成为DataGridView类型控件,它必须继承自DataGridView或承载DataGridView控件 所以它可能看起来像这样:
public class MyGrid : DataGridView {
public MyGrid(string columnName, string columnHeader) {
this.Columns.Add(columnName, columnHeader);
}
}
但是请注意,如果您尝试在窗体的设计器中使用它,那么这将不起作用-它只适用于无参数构造函数。此自定义控件只能在运行时添加。在某些win Forms类中使用的构造函数在哪里?@LarsTech。您的表单名为DataGridView?@LarsTech否,网格的名称是这样的。打电话给c'tor的例子可能是以某种形式出现的。我对我所看到的感到困惑。您有一个从DataGridView继承的名为DataGridView的类?