2

フォーム内の各テキスト ボックスの BackColor を変更するクラスを作成する方法を知りたいです。もう少し詳しく言うと:

  1. テキストボックスが空の場合、テキストボックスの BackColor は White に等しくなります。
  2. テキストボックスがフォーカスされると、テキストボックスの BackColor が変化します。
  3. テキストボックスにテキストがある場合、テキストボックスの BackColor が変更されます。
  4. テキストボックスがフォーカスを失うと、テキストボックスの BackColor が変化します。

現時点では、このようにしています。

Private Sub tb_Login_Enter(sender As Object, e As EventArgs) Handles tb_Login.Enter
    tb_Login.BackColor = Color.LightCyan
End Sub

Private Sub tb_Login_Leave(sender As Object, e As EventArgs) Handles tb_Login.Leave
    If tb_Login.Text <> "" Then
        tb_Login.BackColor = Color.LightGreen
    Else
        tb_Login.BackColor = Color.White
    End If

しかし、私は自分のフォームに多くの TextBox を持っているので、どうすればそのクラスを作成できますか?

ありがとう

4

2 に答える 2

0

テキスト ボックス コントロールのコレクションを持つクラスを作成できます。このコレクションは、フォームまたはユーザー コントロールの Controls プロパティを通過し、コントロールのタイプを確認して取得できます。内部的には、クラスは、リストしたテキスト ボックス コントロール コレクションのイベントをサブスクライブする必要があります。最後に、イベントを処理するメソッドで、それに応じて色を変更するロジックを記述する必要があります。イベント処理メソッドには、最初のパラメーターでイベントをトリガーしたコントロールがあることに注意してください。

さらに疑問がある場合は、さらに詳しく説明します。

于 2013-04-21T18:24:50.230 に答える