2012-02-19 1 views
-1

У меня есть код, который используется для обозначения тревоги с машины, и сигнализация машины будет мигать, чтобы показать, когда машина сталкивается с какой-либо проблемой ...Как сохранить сигнал тревоги красным, когда сигнал отправляется с машины, которая продолжает меняться, и 1?

Когда он мигает, сигнал тревоги будет продолжайте меняться от 1 до 0. И, конечно же, мой визуальный C# напишет оператор if else, чтобы показать, что сигнал будильника, если будильник = 1, тогда изображение сигнала тревоги станет красным, иначе сигнал тревоги = 0, тогда изображение сигнала станет зеленым ,

, но при приеме сигнала от аппарата вспышка между 1 и 0, и мое изображение тревоги на визуальном C# также будет меняться между красным и зеленым, что я могу сделать так, что когда будильник мигает, и мой изображение тревоги в visual C# просто продолжает показывать красный цвет? потому что мне нужно хранить в базе данных, как только будильник звучит. вот мой, если другое заявление ...

if (bn4 == "1" || bn4 == "0") 
{ 
    if ((cmdstop4 == 1) || bn4 == "0") 
    { 
     alarm.Stop(); 
     pictureBox6.Show(); 
     pictureBox14.Hide(); 
     bn4 = "0"; 

    } 
    if (bn4 == "1") 
    { 
     alarm.PlayLooping(); 
     pictureBox14.Show(); 
     pictureBox6.Hide(); 
    } 
} 
+0

Было бы проще, если имена переменных в вашем коде были бы значимыми. Что должно быть bn4 и как оно изменится? Пожалуйста, добавьте все соответствующие коды. –

+0

bn4 - сигнал, посылаемый с машины .. и cmdstop4 - кнопка остановки, которая используется для остановки машины. – Ran

ответ

0

Вы можете использовать Sentinal значение, чтобы определить, если сигнал был ранее запущен. Он не должен быть сложным, только int установлен в 0, если будильник выключен, и 1, если будильник был запущен.

// this sentinal should be declared somewhere useful, in the alarm would make most sense 
int alarmTriggered = 0; 

if (bn4 == "1" || bn4 == "0") 
{  
    if ((cmdstop4 == 1) || (alarmTriggered == 0 && bn4 == "0")) 
    { 
     alarmTriggered = 0; 
     alarm.Stop(); 
     pictureBox6.Show(); 
     pictureBox14.Hide(); 
     bn4 = "0"; 

    } 
    if (bn4 == "1" || alarmTriggered == 1) 
    { 
     alarmTriggered = 1; 
     alarm.PlayLooping(); 
     pictureBox14.Show(); 
     pictureBox6.Hide(); 
    } 
} 
+0

О, я вижу ... попробует это. спасибо большое .. =) – Ran