private void item_grid_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex==taxone_col_index || e.ColumnIndex==taxtwo_col_index)
{
}
}
private void item_grid_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
e.Handled = true;
item_grid.CellClick; // i did this but its not working }
}
我想从按键事件中执行单元格单击事件。怎么办?
听起来您想要的是知道按下键的单元格的行和列索引。然后,您将能够查找单元格的值。
为此,只需使用 DataGridView
的 CurrentCell
属性 .
试图人为地制造CellClick
只是在自找麻烦。
需要注意的一点是,您可能需要处理 EditingControlShowing
事件并将KeyPress
处理程序附加到基础编辑控件,因为在DataGridView
单元格中键入内容不会提高事件的网格级别KeyPress
。
如果确实要创建CellClick
事件,则需要对DataGridView
控件进行子类化,并创建自己的RaiseCellClick()
方法,然后调用受保护的OnCellClick()
方法:
public void RaiseCellClick(int row, int column)
{
DataGridViewCellEventArgs e = new DataGridViewCellEventArgs(row, column);
base.OnCellClick(e);
}
但即使这样对你也没有特别帮助,因为DataGridViewCellEventArgs
需要在其构造函数中获取行和列索引。