e.取消必须允许退出按钮



当用户在我的DatagridView单元格中输入无效值时_CellValidating我正在设置"e.Cancel = true"。

似乎e.Cancel还可以阻止用户关闭表单或点击X按钮,如何添加例外?(允许用户关闭表单,即使 e.取消设置为 true)

我刚刚基于这个场景设置了一个测试项目,似乎DataGridViewCellValidating事件是在FormClosing事件之前调用的;这意味着在验证单元格时,您无法知道用户是否尝试关闭表单。

严格来说,正确的事件顺序是让用户在允许关闭表单之前在单元格中输入有效数据(或通过按 Esc 键取消编辑)。但是,如果要允许关闭窗体,则可以处理窗体的Closing事件:

protected override void OnClosing(CancelEventArgs e) {
    e.Cancel = false;
    base.OnClosing(e);
}

这是不好的做法,但它会给你所要求的行为。

相关内容

  • 没有找到相关文章

最新更新