现在我是这样做的:在属性/事件窗口点击DoubleClick后面的空白,自动生成事件方法:
private void gv_books_DoubleClick(object sender, System.EventArgs e)
{
}
但我需要从类型的事件对象e中获取有关DataGridView有关信息,e强制转换为DataGridViewCellMouseEventArgs类型后报错。
应该如何解决?
如果是你想使用DataGridViewCellMouseEventArgs e,应该使用datagirdview的CellDoubleClick事件
foreach (DataGridViewRow Row in dataViews.Rows) { Row.Cells[0].Value ....... }
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);
}
}
}
}
e.ColumnIndex == 5 表示你点击的行的单元格数
现在的问题就是,我把那个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);
这是自动生成的
请问该怎么改?