我在验证dataGridView
单元格时遇到问题。一切正常,除非我按下dataGridView
之外的按钮(保存数据按钮)(dataGridView
失去焦点,在验证之前按下按钮)。
我需要的是,在验证tabControl
单元格上的值之前,无法聚焦和按下该按钮(以及所有其他控件,包括DataGridView
)。有人可以帮忙吗?
下面是代码示例
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;
}
}
}
答案 0 :(得分:0)
在此代码中禁用该保存按钮,然后在验证结束时将其启用。显示progess栏或状态栏以表示正在对数据进行后处理。在处理开启时,始终保持datagridview的焦点。您可以通过使用标志(bool标志)并在发生这种情况时将其设置为true来实现,并且在鼠标移动和按键时,您可以检查它并将注意力集中在datagridview本身上。