|
■No84277 (lop さん) に返信 > @同じ処理をLabel別でしたいが、11のLabelに対し同じ処理を書く必要があるのか?
あらかじめ、Form の Load イベントなどで
Private Lamps() As Label Private Sub Form1_Load(…… Lamps = New Label() { Lamp1, Lamp2, Lamp3, … } End Sub
などのように、配列に保存しておくと、利用する際に
For Each lbl In Lamps lbl.ForeColor = Color.Red Next
あるいは
For i = 0 To Lamps.GetUpperBound() Lamps(i).ForeColor = Color.Red Next
などとループ処理できます。
> If read(0) = "@処理してください" Then > Lamp1.ForeColor = Color.Red
文字列との紐付けが必要ならば、たとえば Private hash As New Dictionary(Of String, Label)() Private Sub Form1_Load(…… hash.Add("@処理してください", Lamp1) hash.Add("A処理してください", Lamp2) hash.Add("B処理してください", Lamp3) : End Sub のようにしておいて、 For Each line In read If hash.ContainsKey(line) Then hash(line).ForeColor = Color.Red End If Next とか。
|