2012-05-03 26 views
0

我有一個DataGridView,我想創建一個事件處理程序來雙擊單個單元格。我試圖添加一個Windows.Forms.DataGridViewCellEventHandler到DataGridView.DoubleClick事件,但它只會接受一個System.EventHandler。一個簡單的類型轉換似乎不工作:表格DataGridView事件

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

可能有人請告訴我讓我的DataGridView接受DataGridViewCellEventHandler的最佳方式?提前致謝。

+0

我認爲你正在尋找'song_grid.CellDoubleClick + = cell_doubleclick '。 –

回答

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

哦,我的錯誤很簡單,就像只有一種類型的DoubleClick事件。我沒有意識到CellDoubleClick的存在,我正在混淆這兩者。謝謝您的幫助! – nathan