2012-05-03 17 views
0

個々のセルをダブルクリックするイベントハンドラを作成するDataGridViewがあります。私は、DataGridView.DoubleClickイベントにWindows.Forms.DataGridViewCellEventHandlerを追加しようとしていますが、System.EventHandlerだけを受け付けます。シンプルな型キャストが動作していないよう:フォームDataGridViewイベント

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

誰かが私にDataGridViewCellEventHandlerを受け入れるように私のDataGridViewを取得するための最良の方法を教えていただけますか?前もって感謝します。

+0

私はあなたが 'song_grid.CellDoubleClick + = cell_doubleclickを探していると思います'。 –

答えて

1

これらのイベントは異なり、イベントハンドラのシグネチャが異なる必要があります。簡単なEventHandlerDataGridViewCellEventHandlerを追加することはできません。あなたにできることは、これらのイベントのハンドラ内のいくつかのメソッドを呼び出すことです:

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); 
+0

私の間違いは、DoubleClickイベントが1つしかないと思ったのと同じくらい簡単でした。私はCellDoubleClickが存在していたことを認識しておらず、2つを混ぜていました。助けてくれてありがとう! – nathan

関連する問題