Winforms 当datagridview出现验证错误时关闭win表单

Winforms 当datagridview出现验证错误时关闭win表单,winforms,datagridview,typed-dataset,Winforms,Datagridview,Typed Dataset,我正在winforms应用程序.net 3.5(VS 2010)中使用类型化数据集。表单具有DataGridView。在FormClosing事件中,我要求用户保存更改。如果用户不想保存,我想让from关闭。但是,当DataGridView出现验证错误时(我在datatables的ColumnChanging事件中验证dataset),表单将不会关闭。即使我没有捕获表单关闭事件,表单也拒绝关闭。我想我必须以某种方式清除datagridvIew中的验证错误。有人能提出解决办法吗 编辑:还有一个详细

我正在winforms应用程序.net 3.5(VS 2010)中使用类型化数据集。表单具有DataGridView。在FormClosing事件中,我要求用户保存更改。如果用户不想保存,我想让from关闭。但是,当DataGridView出现验证错误时(我在datatables的ColumnChanging事件中验证dataset),表单将不会关闭。即使我没有捕获表单关闭事件,表单也拒绝关闭。我想我必须以某种方式清除datagridvIew中的验证错误。有人能提出解决办法吗


编辑:还有一个详细信息:表单是mdi子表单。不用说,mdi父级也不会关闭。

您可以通过将
false
设置为
FormClosingEventArgs来覆盖验证并(强制关闭)关闭表单。取消
关闭
处理程序参数的属性

 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
     DialogResult res = MessageBox.Show("Close it?", "Close", MessageBoxButtons.YesNo);
     if (res == DialogResult.No)
     {
       e.Cancel = true;
     }
     else
     {
        e.Cancel = false;
      }
    }

好吧,那是我的错。mdi父级有一些mdi子事件的处理程序,但当子窗体关闭时,并非所有处理程序都被删除