Виктор Яловой
New member
Здравствуйте, в первый раз столкнулся с необходимостью написать программу на с#. Вроде во всем разобрался, но в одном куске код себя странно ведёт.
Если снимаю галочку с checkBoxOhrPrc.Checked , то надпись на лэйбле labelOhrPrc меняется на "ВЫКЛ" в соответствии с else, а звук alert продолжает играть.
При том, что ниже аналогичный код работает как задумано:
При снятии чекбокса, звук смолкает и надпись в текстбоксе изменяет цвет на red.
C#:
System.IO.Stream alert = assembly.GetManifestResourceStream(@"The_Guard_dog.vskrtie.wav");
System.IO.Stream tempalert = assembly.GetManifestResourceStream(@"The_Guard_dog.tempAlert.wav");
if ((ohrPrc == "0") & (checkBoxOhrPrc.Checked == true)) //охрана ПРЦ
{
labelOhrPrc.ForeColor = System.Drawing.Color.Green;
labelOhrPrc.Text = "НОРМА";
}
else if ((checkBoxOhrPrc.Checked == true) & (ohrPrc == "1"))
{
labelOhrPrc.ForeColor = System.Drawing.Color.Red;
labelOhrPrc.Text = "ВСКРЫТИЕ";
SoundPlayer player = new SoundPlayer(alert);
player.Play();
}
else
{
labelOhrPrc.ForeColor = System.Drawing.Color.Red;
labelOhrPrc.Text = "ВЫКЛ";
При том, что ниже аналогичный код работает как задумано:
C#:
if ((Predeli.minPrc< intprc) & (intprc< Predeli.maxPrc) & (checkBoxTempPrc.Checked == true)) // слежение за temp ПРЦ
{
textboxTempPRC.ForeColor = System.Drawing.Color.Green;
}
else if (((Predeli.minPrc >= intprc) | (intprc >= Predeli.maxPrc)) & (checkBoxTempPrc.Checked == true))
{
textboxTempPRC.ForeColor = System.Drawing.Color.Red;
SoundPlayer player = new SoundPlayer(tempalert);
player.Play();
}
else
{
textboxTempPRC.ForeColor = System.Drawing.Color.Red;
}
При снятии чекбокса, звук смолкает и надпись в текстбоксе изменяет цвет на red.