检测鼠标单击选择dataGridView中的行

L33*_*EAN 0 c# events datagridview mouseclick-event winforms

我无法让我的应用程序正常工作.我试图用鼠标在datagridview中选择一行.我需要保存此行的索引以允许我在所选行中导航.

我一直在看DataGridView.CellMouseClick事件(链接)但我无法确保事件处理程序与CellMouseClick事件相关联.

到目前为止我的代码很简单,我只是想看看它是否检测到鼠标点击:

    public event DataGridViewCellMouseEventHandler CellMouseClick;

    private void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
    {
        MessageBox.Show("Mouse clicked in the datagridview!");
    }
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我可能会出错的地方.任何帮助都会很棒!

das*_*ash 5

你需要" 连线 "的事件.

如果您的DataGridView被称为DataGridView1,那么您需要在表单的构造函数,设计器(如果您通过设计器添加事件处理程序)或Load事件中使用以下代码行:

DataGridView1.CellMouseClick += DataGridView1_CellMouseClick;
Run Code Online (Sandbox Code Playgroud)

这会将代码中的事件处理程序附加到事件中.

您当前的示例如下所示:

    public event DataGridViewCellMouseEventHandler CellMouseClick;

    private void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
    {
        MessageBox.Show("Mouse clicked in the datagridview!");
    }
Run Code Online (Sandbox Code Playgroud)

public event DataGridViewCellMouseEventHandler CellMouseClick;除非您构建自己的用户控件来托管DataGridView并且您实际上想要"包装"或"重新广播"该事件,否则无需重新声明event().