如何强制验证UserControl?

时间:2019-03-08 07:13:24

标签: c# winforms validation user-controls

我的文本框控件的验证正常/按预期工作。但是,对于我创建的UserControl,其中也包含一个文本框(也包含其他控件),它并不总是经过验证,除非用户手动选择/聚焦另一个控件,这当然会触发{{1 }}事件。

现在,我从有关Form.ValidateChildren()有效)的搜索中找到了,但是这种方法可以按照文档中的说明验证所有子项,这并不是解决问题的理想方法具有许多控件的表单,而不是仅验证单个控件。

其他信息:

  1. 我使用Validating来显示错误-我需要考虑职位 如果是我的ErrorProvider(图标又包含 内部有多个控件)。
  2. UserControlValidating事件是在我的Validated上执行的,不是其中的文本框。这两个事件都是使用usercontrol的形式。
  3. 我的UserControlText的{​​{1}}属性已被修改 内部(在我的TextBox类内部)

`

UserControl

`

根据上述信息,当我手动修改UserControl属性时,由于设计//some code inside usercontrol private void SomeMethod() { ... textBox.Text = ...; ParentForm.ValidateChildren(); // works but does this on all controls which is not the ideal operation, which is to perform validation only on this usercontrol } = Text,所以没有引发Validating事件,正如设计上所预期的那样。我不能选择对UserControl.TextBox而不是UserControl进行验证。

在解释了所有这些内容之后,在修改UserControl.TextBox时,如何不强制使用UserControl来手动/强制触发UserControl的验证{strong>仅哪些目标指向所有表单控件?还是不可能?

0 个答案:

没有答案