CancelEdit不会将注意力集中在DataGridView c#中的已编辑单元格上

时间:2013-12-29 04:51:23

标签: c# datagridview

当我在DataGridView的单元格中输入一些值并单击另一个单元格时,将执行cellvalidating事件处理程序代码。即使验证填充,我点击的单元格也会突出显示。我的要求是单元格应保持选中状态,并且在删除无效值后,光标应在单元格中闪烁以进行编辑。如果验证失败,请使用以下代码:

DataGridView1.CancelEdit();

我尝试过添加

DataGridView1.CurrentCell.Selected = true;
DataGridView1.BeginEdit(true);

2 个答案:

答案 0 :(得分:1)

您需要使用下面的e.Cancel = true

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    int i;

    if (!int.TryParse(e.FormattedValue.ToString(), out i))
    {
        e.Cancel = true;
        MessageBox.Show("Please input a integral number.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

答案 1 :(得分:1)

我使用上面的解决方案改变了我的代码并且它有效:

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    DataGridView1.CancelEdit();
    e.Cancel = true;
    DataGridView.BeginEdit(true);
}