我无法让我的应用程序正常工作。我试图用鼠标在datagridview中选择一行。我需要保存此行的索引以允许我在所选行中导航。
我一直在关注DataGridView.CellMouseClick事件(Link)但是我无法确保事件处理程序与CellMouseClick事件相关联。
到目前为止,我的代码很简单,我只是想看看它是否检测到鼠标点击:
public event DataGridViewCellMouseEventHandler CellMouseClick;
private void DataGridView1_CellMouseClick(Object sender, DataGridViewCellMouseEventArgs e)
{
MessageBox.Show("Mouse clicked in the datagridview!");
}
任何人都可以指出我可能出错的地方。任何帮助都会很棒!
答案 0 :(得分: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!");
}
除非您构建自己的用户控件来托管DataGridView并且您实际上想要to "wrap" or "rebroadcast" that事件,否则无需重新声明事件(public event DataGridViewCellMouseEventHandler CellMouseClick;
)。