我创建了一个包含 3 个选项卡的对话框。选项卡 1 和 2 上的控件使用Validating()
事件进行验证。用户将主要处理选项卡 1 和 3,除非必要,否则从不显示选项卡 2。选项卡 1 和 2 上的所有控件都绑定到 BindingSource 对象。
根据我的观察,在选项卡显示之前,绑定控件似乎没有在选项卡 2 上初始化。因此,验证整个表单会失败,因为这些控件没有任何价值。TextBox.Text 值是第""
一次Validating()
调用的时间,并且是somevalue
在我查看选项卡之后。
我试图从事件中“预初始化”选项卡 2 上的控件Load
(例如TextBox.Value = 'test';
,但在调用 Validating() 之前发现该值已被清除。
我曾想过检查 BindingSource.Current 中的值,但这个特定的解决方案有多个缺陷,特别是 BindingSource 包含未经验证的值。
我需要采取哪些步骤:
- 在控件显示之前对其进行初始化
- 获取正确的值(控件或 BindingSource)
Validation()