C# DataGridView验证不需要';行不通

C# DataGridView验证不需要';行不通,c#,validation,datagridview,focus,C#,Validation,Datagridview,Focus,我在验证dataGridView单元格时遇到问题。除非我按下位于dataGridView之外的按钮(Save data按钮)(dataGridView失去焦点,在验证之前,按下按钮),否则一切正常 我需要的是,在验证DataGridView单元格上的值之前,按钮(以及所有其他控件,包括tabControl)无法聚焦和按下。有人能帮忙吗 下面是代码示例 private void dataGridView1_CellValidating(object sender, DataGridViewCell

我在验证
dataGridView
单元格时遇到问题。除非我按下位于
dataGridView
之外的按钮(Save data按钮)(
dataGridView
失去焦点,在验证之前,按下按钮),否则一切正常

我需要的是,在验证
DataGridView
单元格上的值之前,按钮(以及所有其他控件,包括
tabControl
)无法聚焦和按下。有人能帮忙吗

下面是代码示例

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
        if (e.ColumnIndex > 0) // I only validate columns 1,2,3....
        {
            try
            {
                dataGridView1.CurrentCell.Value = Convert.ToDouble(e.FormattedValue);
            }
            catch (Exception ex)
            {
                dataGridView1.CancelEdit();
                System.Media.SystemSounds.Hand.Play();
                e.Cancel = true;
            }

        }
    }

禁用此代码中的“保存”按钮,然后在验证结束后重新启用该按钮。显示进度栏或状态栏,表示正在进行数据的后处理。在处理过程中,始终保持datagridview的焦点。您可以通过设置一个标志(bool标志)并在发生这种情况时将其设置为true来实现,在鼠标移动和按键时,您可以检查它并将焦点保持在datagridview本身上