Я оглядывался, и я не видел никого с этой проблемой, и мне нужна помощь. Я работаю над сигнальным экраном с несколькими кнопками, которые показывают состояние, в котором каждый сигнал тревоги находится в цвете. Я постоянно проверяю состояние с помощью таймера, который смотрит на массив входящих данных из ПЛК. Когда я запускаю код, только первая кнопка меняет цвет, никто из других ничего не делает. Я не уверен, что мне делать. Вот пример того, что я делаюVB только один Если оператор работает во таймере
Private Sub AlarmInformation_Load(sender As Object, e As EventArgs) Handles Me.Load
Timer1.Enabled = True
Timer1.Interval = 2000
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Alarm0
If MainForm.inputDataReals(MainForm.AOEnumArray.Alarm0) = 0 Then
Button1.BackColor = Color.ForestGreen
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm0) = 2 Then
Button1.BackColor = Color.Red
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm0) = 3 Then
Button1.BackColor = Color.Yellow
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm0) = 4 Then
Button1.BackColor = Color.Gray
End If
'Alarm1
If MainForm.inputDataReals(MainForm.AOEnumArray.Alarm1) = 0 Then
Button1.BackColor = Color.ForestGreen
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm1) = 2 Then
Button1.BackColor = Color.Red
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm1) = 3 Then
Button1.BackColor = Color.Yellow
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm1) = 4 Then
Button1.BackColor = Color.Gray
End If
'Alarm2
If MainForm.inputDataReals(MainForm.AOEnumArray.Alarm2) = 0 Then
Button1.BackColor = Color.ForestGreen
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm2) = 2 Then
Button1.BackColor = Color.Red
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm2) = 3 Then
Button1.BackColor = Color.Yellow
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm2) = 4 Then
Button1.BackColor = Color.Gray
End If
'Alarm3
If MainForm.inputDataReals(MainForm.AOEnumArray.Alarm3) = 0 Then
Button1.BackColor = Color.ForestGreen
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm3) = 2 Then
Button1.BackColor = Color.Red
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm3) = 3 Then
Button1.BackColor = Color.Yellow
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm3) = 4 Then
Button1.BackColor = Color.Gray
End If
'Alarm4
If MainForm.inputDataReals(MainForm.AOEnumArray.Alarm4) = 0 Then
Button1.BackColor = Color.ForestGreen
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm4) = 2 Then
Button1.BackColor = Color.Red
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm4) = 3 Then
Button1.BackColor = Color.Yellow
ElseIf MainForm.inputDataReals(MainForm.AOEnumArray.Alarm4) = 4 Then
Button1.BackColor = Color.Gray
End If
Любая помощь была бы принята с благодарностью. Заранее спасибо.
Вы ссылаетесь только на одну кнопку ('Button1'), поэтому предположительно это та, которая меняет цвет. – TZHX
oh man Я этого не понимал, когда справлялся с моим рабочим кодом. Это, наверное, проблема. Я сделаю изменения и вернусь к вам. – Fuzydragon
Вот в чем проблема. Спасибо за дополнительный набор глаз. – Fuzydragon