表单 DataGridView 事件

本文关键字:事件 DataGridView 表单 | 更新日期: 2023-09-27 18:33:07

我有一个 DataGridView,我想为其创建一个事件处理程序,用于双击单个单元格。我正在尝试将 Windows.Forms.DataGridViewCellEventHandler 添加到 DataGridView.DoubleClick 事件,但它只接受 System.EventHandler。简单的类型转换似乎不起作用:

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

有人可以告诉我让我的 DataGridView 接受 DataGridViewCellEventHandler 的最佳方法吗?提前谢谢。

表单 DataGridView 事件

这些事件是不同的,它们需要不同的事件处理程序签名。不能将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);