0

我会看看我是否可以很好地解释这一点,以便有人回答或让我走上正确的道路。

开始:

我已经建立了几个自定义控件;表单、文本框、复选框等。其中一个控件是导航栏,其中包含以下按钮:顶部、下一步、查找、添加、删除等。

在我的表单上是导航栏和其他几个自定义文本框、复选框、组合框等。这些控件中的每一个在OnValidating方法中都有自定义代码。

似乎CausesValidation导航按钮容器的属性优先CausesValidation于栏中按钮的属性。

所以我真正想做的是关闭CausesValidation容器并让表单上的控件尊重CausesValidation每个按钮的属性值。

当我构建导航栏时,它的基类是UserControl. 我已经尝试了大多数容器控件,并且我得到了类似的行为。

所以我不确定是否应该OnValidating为每个控件选择不同的方法(除了),或者是否有其他方法可以在容器时进行验证CasuesValidation = False,但是CausesValidationbutton = true

4

1 回答 1

0

我解决了这个问题。

事实证明,无论它是否有焦点,它都会开火。我不知道为什么,也找不到任何理由。我删除了方法中的代码并将其放入并解决了我的问题。Checkbox OnValidatingOnValidatingOnClickCheckChanged

然后我能够将背面的CausesValidation属性更改为.ContainerNavigation Barfalse

于 2013-01-10T22:16:39.147 回答