Windows.Forms.DataGridViewを継承してカスタムDataGridViewを作成しました。また、Windows.Forms.DataGridViewRowを継承してカスタムDataGridViewRowを作成しました。私はMyDataGridViewのRowTemplateとしてMyDataGridViewRowを使用しました。すべてのものがうまくいった。しかし、MyDataGridViewをフォームに追加すると、MyDataGridViewRowに属するフォームデザイナーファイルでプロパティが生成されますが、RowTemplateはDataGridViewRowであるため、ファイルはコンパイルされません。フォームで使用すると、RowTemplateを使用してDataGridViewをカスタマイズするとキャストエラーが発生する
私は手動でエラーを修正するためにRowTemplateをMyDataGridRowにキャストしました。このコードはビジュアルスタジオで自動生成されるため、元の形式に変更されます。フォームの設計者コードの
ここに私の現在のコードスニペットは
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
...
}
私はここで間違って何をやっていますか?
をRowTemplateプロパティをオーバーライドしているあなたとあなたの修正が完璧に働いていたように私は正確に同じような状況にありました!ありがとう! –