ncostasilva Ответов: 2

Как изменить цвет кнопки/метки на основе текстового поля contend?


Здравствуйте Коллеги,

Я просто склоняюсь к C# и хочу изменить цвет кнопки / метки, если text.box показывает разные значения, например текстовое поле представляет собой счетчик от 0 до 60 секунд, отправляемый внешним контроллером (тестером), поэтому он иногда может останавливаться до достижения 60 секунд.
мой план состоит в том, чтобы отключить и написать "In cycle" в метке кнопки/цвете каждый раз, когда тест равен >0. другими словами, если у меня есть "0", поступающее от моего внешнего контроллера "mw64", я хочу написать тест в режиме ожидания в метке кнопки.

Большое вам спасибо заранее.

Что я уже пробовал:

Вот что я использую, чтобы получить переменный статус от внешнего контроллера.
"mw64" - это переменный адрес, который посылает мне фактический таймер от 0 до 60.

переменная записывается правильно, так что мой внешний таймер работает хорошо.
actvalueL1.Text = controller.Read("mw64").ToString();



btn_test.Text = ("Test in Stand by");

2 Ответов

Рейтинг:
2

ncostasilva

p_test_timer.Text = controller.Read("mw40").ToString();

        ///write test status into the start button
        int test = int.Parse(p_test_timer.Text);
        int timerValue = test;

        if (timerValue > 0)
            leakstartbtn.Text = "Test is Running";
        else
            leakstartbtn.Text = "Start Test";

        if (timerValue > 0)
            leakstartbtn.BackColor = Color.LightSkyBlue;
        else
            leakstartbtn.BackColor = Color.LightGray;


Maciej Los

Два раза если заявление? А для чего?

Рейтинг:
16

Richard MacCutchan

int timerValue = controller.Read("mw64");
if (timerValue > 0)
    actvalueL1.Text = timerValue.ToString();
else
    actvalueL1.Text = "Test in Stand by";


ncostasilva

Здравствуйте Ричард Маккатчан,

Спасибо за вашу помощь, теперь она работает хорошо, я использовал предложенный вами код, и он помог мне найти решение с некоторыми небольшими изменениями.
я оценил вашу помощь.. пожалуйста, смотрите фактическое решение ниже.

Richard MacCutchan

Рад, что у вас все получилось, но, как спрашивает Мацей, зачем вы создали два отдельных теста? Все, что вам нужно, - это один оператор if для установки текста и цвета.

if (timerValue > 0)
{
    leakstartbtn.Text = "Test is Running";
    leakstartbtn.BackColor = Color.LightSkyBlue;
}
else
{
    leakstartbtn.Text = "Start Test";
    leakstartbtn.BackColor = Color.LightGray;}
}

Maciej Los

5ed!

ncostasilva

Привет,

идеально, это была моя вина, я столкнулся с некоторыми проблемами с заявлением паленого, но я обнаружил, что мое программное обеспечение было неправильным, не работающим просто отлично.

Спасибо снова.