通常のアプリケーションFormは, Inherits System.Windows.Forms.Form でFormが継承されてます。
Ognacは間に, FormBaseをはさみ,
class BaseForm
Inherits System.Windows.Forms.Form
end class
'=========
class アプリ画面
Inherits BaseForm
end class
の構成にします。
アプリ画面が表示される時に,BaseのBaseForm_Shown Eventが処理されるようになったので,便利になりました。
Private Sub BaseForm_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
For Each cntl As Control In Me.Controls
If TypeOf cntl Is TextBox Then
AddHandler cntl.Validating, AddressOf Validating_PROC
End If
next cntl
End SUB
のように,画面上の TextBoxのValidatingを一箇所に集めて整合性の判定をしてます。
継承元で判断可能になるので,アプリ側のソースからは隠蔽できます。
パフォーマンス的にどうかなと危惧したのですが, 20から30個のTextboxを貼り付けても耐えてます。
正規表現でのCheckと組み合わせたら,入力Checkの部分は自動化が一歩進みそうです。