首页 新闻 会员 周边 捐助

C#中DataGridView如何添加双击事件?

0
悬赏园豆:30 [已解决问题] 解决于 2018-12-27 10:35

现在我是这样做的:在属性/事件窗口点击DoubleClick后面的空白,自动生成事件方法:
private void gv_books_DoubleClick(object sender, System.EventArgs e)
{

}
但我需要从类型的事件对象e中获取有关DataGridView有关信息,e强制转换为DataGridViewCellMouseEventArgs类型后报错。
应该如何解决?

╄冷丶夜♂的主页 ╄冷丶夜♂ | 初学一级 | 园豆:47
提问于:2018-12-26 16:03
< >
分享
最佳答案
1

如果是你想使用DataGridViewCellMouseEventArgs e,应该使用datagirdview的CellDoubleClick事件

收获园豆:30
ifz | 菜鸟二级 |园豆:302 | 2018-12-27 09:15
其他回答(2)
1
foreach (DataGridViewRow Row in dataViews.Rows) 
{
    Row.Cells[0].Value
    .......
}
徒然喜欢你 | 园豆:1741 (小虾三级) | 2018-12-26 16:50

private void dt_GridView_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 5)
{
DialogResult result = MessageBox.Show("确定删除所选择的用户吗?", "提示信息", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
string UserName = dt_GridView.CurrentRow.Cells[1].Value.ToString();
if (UserDAL.DeleteUserInfo_DAL(UserName))
{
BindGridView();
MessageBox.Show("恭喜你,删除成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
else
{
MessageBox.Show("很遗憾,删除失败!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}

支持(0) 反对(0) ProvokeXun | 园豆:225 (菜鸟二级) | 2018-12-26 17:26
0

e.ColumnIndex == 5 表示你点击的行的单元格数

ProvokeXun | 园豆:225 (菜鸟二级) | 2018-12-26 17:28

现在的问题就是,我把那个e的类型从System.EventArgs改成DataGridViewCellEventArgs了之后:

   private void gv_books_DoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        int index = e.RowIndex;
        MessageBox.Show("你选择了" + index);
    }

出现错误:
错误 1 “gv_books_DoubleClick”的重载均与委托“System.EventHandler”不匹配 D:\文档\Visual Studio 2013\Projects\Library\Library\frmMain.Designer.cs 110 42 Library

frmMain.Designer.cs 110行是
this.gv_books.DoubleClick += new System.EventHandler(this.gv_books_DoubleClick);
这是自动生成的

请问该怎么改?

支持(0) 反对(0) ╄冷丶夜♂ | 园豆:47 (初学一级) | 2018-12-26 23:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册