0

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

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

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

    public event DataGridViewCellMouseEventHandler CellMouseClick;

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

谁能指出我可能出错的地方。任何帮助都会很棒!

4

1 回答 1

5

您需要“连接” 事件

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

DataGridView1.CellMouseClick += DataGridView1_CellMouseClick;

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

您当前的示例如下所示:

    public event DataGridViewCellMouseEventHandler CellMouseClick;

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

没有必要重新声明事件 ( public event DataGridViewCellMouseEventHandler CellMouseClick;),除非您正在构建自己的用户控件来承载 DataGridView 并且您实际上想要“包装”或“重新广播”该事件。

于 2012-06-25T10:11:55.177 回答