现有这样一个问题:
修改了datagridview的单元格之后,如果数据不合法,希望焦点仍然在当前单元格中。
代码如下:
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (Convert.ToInt32(dataGridView1.CurrentCell.Value) <0)
{
MessageBox.Show("值不能小于0");
dataGridView1.CurrentCell = dataGridView1[e.ColumnIndex, e.RowIndex]; //希望是当前单元格选中,但是不起作用
dataGridView1[e.ColumnIndex, e.RowIndex].Selected = true; //希望是当前单元格选中,但是不起作用
}
}请问如何才能让光标仍然在当前单元格呢。
还有
dataGridView1[e.ColumnIndex, e.RowIndex].Selected = true; 这句,在修改了内容后,没有按回车而是直接选中其他单元格时会发生异常,请问如何解决
修改了datagridview的单元格之后,如果数据不合法,希望焦点仍然在当前单元格中。
代码如下:
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if (Convert.ToInt32(dataGridView1.CurrentCell.Value) <0)
{
MessageBox.Show("值不能小于0");
dataGridView1.CurrentCell = dataGridView1[e.ColumnIndex, e.RowIndex]; //希望是当前单元格选中,但是不起作用
dataGridView1[e.ColumnIndex, e.RowIndex].Selected = true; //希望是当前单元格选中,但是不起作用
}
}请问如何才能让光标仍然在当前单元格呢。
还有
dataGridView1[e.ColumnIndex, e.RowIndex].Selected = true; 这句,在修改了内容后,没有按回车而是直接选中其他单元格时会发生异常,请问如何解决
数据不合法,设计事件参数e.Cancel=true;焦点就会停留下来
然后:dataGridView1.CurrentCell = dataGridView1[e.ColumnIndex, e.RowIndex];
dataGridView1[e.ColumnIndex, e.RowIndex].Selected = true;
dataGridView1[,].Selected = dataGridView1[e.ColumnIndex, e.RowIndex];