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 ()
{
}
...
}
フォームのデザイナー コードの一部:
partial class Form4
{
...
#region Windows Form Designer generated code
this.myDataGridView1.RowTemplate.RowName= null; // here's the error generated line
#endregion
...
}
ここで何が間違っていますか?