我通过继承 Windows.Forms.DataGridView 创建了一个自定义 DataGridView。我还通过继承 Windows.Forms.DataGridViewRow 创建了一个自定义 DataGridViewRow。然后我使用 MyDataGridViewRow 作为 MyDataGridView 的 RowTemplate。一切正常。但是当我将 MyDataGridView 添加到表单时,它会在属于 MyDataGridViewRow 的表单设计器文件中生成属性,但由于 RowTemplate 是 DataGridViewRow,因此文件将无法编译。
我已手动将 RowTemplate 转换为 MyDataGridRow 以更正错误。但由于此代码是由 Visual Studio 自动生成的,它们将更改为原始格式。
这是我当前的代码片段
public class MyDataGridView : DataGridView, IMyInterface
{
public string LuName{get; set;}
public MyDataGridView ()
{
this.RowTemplate = new MyDataGridViewRow();
}
...
}
public class MyDataGridViewRow : DataGridViewRow, IMyInterface2
{
public string RowName{get; set;}
public MyDataGridViewRow ()
{
}
...
}
Form的设计器代码的一部分:
partial class Form4
{
...
#region Windows Form Designer generated code
this.myDataGridView1.RowTemplate.RowName= null; // here's the error generated line
#endregion
...
}
我在这里做错了什么?