0

個々のセルをダブルクリックするためのイベントハンドラーを作成するDataGridViewがあります。Windows.Forms.DataGridViewCellEventHandlerをDataGridView.DoubleClickイベントに追加しようとしていますが、System.EventHandlerのみを受け入れます。単純な型キャストは機能しないようです:

this.song_grid.DoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.cell_doubleclick);

DataGridViewにDataGridViewCellEventHandlerを受け入れるための最良の方法を教えてもらえますか?前もって感謝します。

4

1 に答える 1

1

これらのイベントは異なり、イベントハンドラーの異なる署名が必要です。DataGridViewCellEventHandlerシンプルに追加することはできませんEventHandler。できることは、これらのイベントのハンドラー内でいくつかのメソッドを呼び出すことです。

private void grid_DoubleClick(object sender, EventArgs e)
{    
    DoSomething();
}       

private void grid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
    DoSomething();
}

private void DoSomething()
{
    // your code here
}

両方のイベントハンドラーをサブスクライブしていると仮定します。

grid.DoubleClick += new System.EventHandler(grid_DoubleClick);
grid.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(grid_CellDoubleClick);
于 2012-05-03T11:36:09.967 に答える