投稿者 VB.NET見習い  (社会人) 投稿日時 2018/5/14 21:18:57
こんばんは、VB.NETを始めて1ヵ月くらいのプログラミング初心者です。
環境はWindows7 Visual Studio2017です。

今回お聞きしたいのは「常に複数のコントロールの状態を見るイベント」の実装です。

複数在るコントロールの状態を常に監視して、状態が変わった時に処理を行うという風なコードを書いてみたいのですがTimer.tick以外にスマートなイベントがあるでしょうか。やはりTextChangedやCheckedChangedなどを「Handles」のあとに複数書いていくべきなのでしょうか。(コントロールの数・種類が増えると冗長になりそうだと思っているのですが・・・)



    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Dim textBoxes As New List(Of TextBox)
        textBoxes.Add(TextBox2)
        textBoxes.Add(TextBox3)
        textBoxes.Add(TextBox4)

        For Each t In textBoxes
            If t.Text <> "" Then
                TextBox1.Text = "全て記入済み"
            ElseIf t.Text = "" Then
                TextBox1.Text = "未記入有り"
            End If
        Next


    End Sub