嗨,我有一个带有 TabControl 的表单,每个 tabPage 中有 3 个标签页和控件(文本框和组合框)。
我有一个事件用于 tabPages (controlValueChanged) 中控件的所有更改,还有一个事件用于 tabControl.SelectedIndexChanged。
所以如果表单是脏的,我想启用我的按钮(btnOK)。
Private Sub controlValueChanged(sender As System.Object, e As System.EventArgs)
If bLoading=False 'bLoading is a boolean that is true after I create and populate the controls
Dirty = True 'Dirty is a boolean property
End If
End Sub
因此,当我在其中一个控件中更改某些内容时,会触发事件并启用 btnOK。
问题是我第一次更改(访问)到 tabPage 控件是 TabPage 触发 controlValueChanged 事件,导致我的按钮启用,即使我没有更改控件中的任何内容。
如果我第二次访问 TabPage,则不会触发该事件。
我知道这是正常的,但我如何才能克服这个问题并让我的 Dirty =true 只有当控件因为某些东西发生变化而不是当 tabPage 发生变化时才被触发?