こんにちは、各タブページに TabControl、3 つのタブページ、およびコントロール (テキストボックスとコンボボックス) を含むフォームがあります。
tabPages (controlValueChanged) のコントロールのすべての変更に対して 1 つのイベントと、tabControl.SelectedIndexChanged に対して 1 つのイベントがあります。
したがって、フォームがダーティの場合は、ボタン (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
したがって、コントロールの 1 つで何かを変更すると、イベントが発生し、btnOK が有効になります。
問題は、コントロールを初めて変更 (訪問) したときに、コントロールで何も変更していなくても、TabPage が controlValueChanged イベントを発生させてボタンを有効にすることです。
TabPage に 2 回目にアクセスすると、イベントは発生しません。
これは正常であることはわかっていますが、tabPage が変更されたときではなく、何かが変更されたためにコントロールが起動された場合にのみ、この問題を克服して Dirty =true にする方法を教えてください。