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到 simple 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 回答