コントロールアクション
フォームを書くとき、コントロールの表示内容が空であるか、または表示情報が空であるかどうかを判断することがよくあります.コードのクリーン化のために、これらの繰り返しの内容を個別のクラスモジュールに書いたほうがいいです.次に、私がどのように操作しているかを説明します(テキストボックスとコンボボックスを例にDemoを作りました):
注意:空にする場合は、共通コントロールクラスのText属性を呼び出すだけでText属性が空になるのが一般的ですが、コンボボックスのようにリストボックスで選択した情報を空にする必要がある場合は、コントロールをそのタイプに変換して対応する属性を操作する必要があります
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TestEmpty(TextBox1, Label2) Then Exit Sub
If TestEmpty(ComboBox1, Label1) Then Exit Sub
Clear(TextBox1)
Clear(ComboBox1)
End Sub
''' <summary>
'''
''' </summary>
''' <param name="ctrl"> </param>
''' <remarks>2011-4-22 19:19 by dan</remarks>
Private Sub Clear(ByVal ctrl As Control)
If (TypeOf ctrl Is TextBox) Then
ctrl.Text = ""
ElseIf (TypeOf ctrl Is ComboBox) Then
ctrl.Text = ""
CType(ctrl, ComboBox).SelectedIndex = -1
End If
End Sub
''' <summary>
'''
''' </summary>
''' <param name="ctrl"> </param>
''' <param name="ctrlshow" > </param>
''' <remarks>2011-4-22 19:20 by dan</remarks>
Private Function TestEmpty(ByVal ctrl As Control, ByVal ctrlshow As Control) As Boolean
Dim result As Boolean
If Trim(ctrl.Text) = "" Then
MsgBox(ctrlshow.Text & " !", vbOKOnly + vbInformation, " ")
ctrl.Focus()
result = True
Else
result = False
End If
Return result
End Function
注意:空にする場合は、共通コントロールクラスのText属性を呼び出すだけでText属性が空になるのが一般的ですが、コンボボックスのようにリストボックスで選択した情報を空にする必要がある場合は、コントロールをそのタイプに変換して対応する属性を操作する必要があります