我的文本框控件的验证正常/按预期工作。但是,对于我创建的UserControl
,其中也包含一个文本框(也包含其他控件),它并不总是经过验证,除非用户手动选择/聚焦另一个控件,这当然会触发{{1 }}事件。
现在,我从有关Form.ValidateChildren()
(有效)的搜索中找到了,但是这种方法可以按照文档中的说明验证所有子项,这并不是解决问题的理想方法具有许多控件的表单,而不是仅验证单个控件。
其他信息:
Validating
来显示错误-我需要考虑职位
如果是我的ErrorProvider
(图标又包含
内部有多个控件)。UserControl
和Validating
事件是在我的Validated
上执行的,不是其中的文本框。这两个事件都是使用usercontrol的形式。UserControl
中Text
的{{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>仅哪些目标指向所有表单控件?还是不可能?