0

我正在使用 vb.net 在 winforms 中编写代码,并且我试图在存在某些用户业务规则错误条件时防止 datagridview 失去焦点。当错误存在时,我在离开事件中有代码,它将焦点重新设置回自身。但是,这似乎并不完全有效,因为仍然可以单击表单上的按钮。有谁知道如何将注意力集中在 datagridview 上,并且在用户输入 datagridview 时不允许在不禁用按钮的情况下单击按钮?我正在编写一个自定义 datagridview 控件,并且想要一个通用例程来保持对 datagridview 控件的关注,并且不允许单击表单上的按钮。

4

2 回答 2

0

在焦点从一个控件转移到另一个控件的过程中,会发生一系列事件。在这个 msdn 链接中有一个描述。

我建议找到一种方法使您的业务规则适合该模式,因为这是控件验证挂钩的目的。特别是如果您正在创建自己的控件,您也可以使用这些事件封装一些验证逻辑。

于 2012-11-14T18:35:08.430 回答
0

要防止表单更改对验证错误的关注,请将表单的 AutoValidate 属性设置为 EnablePreventFocusChange。http://msdn.microsoft.com/en-us/library/system.windows.forms.autovalidate(v=vs.100).aspx

要防止按钮在存在验证错误时提交,请将按钮的 CausesValidation 属性设置为 true。http://msdn.microsoft.com/en-us/library/system.windows.forms.control.causesvalidation(v=vs.110).aspx

于 2014-06-09T16:05:00.930 回答