常に複数のコントロールの状態を見る(?)イベント
投稿者 VB.NET見習い  (社会人)
投稿日時
2018/5/15 00:21:45
冷静に読み直してたらtimer.tickの使い方間違ってますよね・・・勉強し直してきます
投稿者 (削除されました)  ()
投稿日時
2018/5/15 11:54:07
(削除されました)
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2018/5/15 11:58:48
Handles 句で並べていくのでなく、Form の Load 時などに
AddHandler ステートメントで動的に割り当ててはいかがでしょうか。
AddHandler ステートメントで動的に割り当ててはいかがでしょうか。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim textBoxes As New List(Of TextBox)() From {TextBox2, TextBox3, TextBox4}
For Each txt In textBoxes
AddHandler txt.TextChanged, Sub() TextBox1.Text = If(textBoxes.Any( _
Function(t) t.TextLength = 0), "未記入有り", "全て記入済み")
Next
End Sub
投稿者 VB.NET見習い  (社会人)
投稿日時
2018/5/15 13:12:44
ありがとうございます
確かにそのようにすれば良さそうですね
確かにそのようにすれば良さそうですね
環境はWindows7 Visual Studio2017です。
今回お聞きしたいのは「常に複数のコントロールの状態を見るイベント」の実装です。
複数在るコントロールの状態を常に監視して、状態が変わった時に処理を行うという風なコードを書いてみたいのですがTimer.tick以外にスマートなイベントがあるでしょうか。やはりTextChangedやCheckedChangedなどを「Handles」のあとに複数書いていくべきなのでしょうか。(コントロールの数・種類が増えると冗長になりそうだと思っているのですが・・・)