NonSoft

Validatingで次コントロールを判定(VB.NET)


 ち〜な〜み〜に〜

Validatingで次コントロールを判定(VB.NET) 2007/07/13
「閉じる(×)」ボタンや「終了」ボタンがクリックされた時は、Validatingイベントを処理したくない。
Validatingイベントの次にアクティブになるコントロールを判断出来れば。。。色々調べてみると以下のような方法があった。
ちなみに、「閉じる(×)」ボタンをクリックするとアクティブ コントロールは変更されないもよう。

Private Sub txtData_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) _
    Handles txtData.Validating
    ' 閉じる(×)ボタンと終了ボタンが
    ' クリックされた時はデータチェックを中止
    If ActiveControl.Name = "txtData" Or _
       ActiveControl.Name = "btnEnd" Then
        Exit Sub
    End If
    ' データチェック
    If IsNumeric(txtData.Text) = False Then
        MsgBox("数値を入力してください")
        e.Cancel = True
    End If
End Sub