Почему не меняется цвет кнопки при вводе нужной фразы

Я не не могу изменить цвет кнопки при вводе слова , например Blue в Visual Studio Windows format

со словом Red изменяется

вот тут с Red изменяется

а со словом Blue и с другими нет

а со словом Blue и с другими нет

Вот код

    private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e)
{
    if (this->TBColor->Text == "Green")
    {
        this->CookieButton->BackColor = Color::Green;
    }
    else
    {
        this->CookieButton->BackColor = Color::White;
    }

    if(this->TBColor->Text == "Yellow")
    {
        this->CookieButton->BackColor = Color::Yellow;
    }
    else
    {
        this->CookieButton->BackColor = Color::White;
    }

    if (this->TBColor->Text == "Blue")
    {
        this->CookieButton->BackColor = Color::Blue;
    }
    else
    {
        this->CookieButton->BackColor = Color::White;
    }

    if (this->TBColor->Text == "Red")
    {
        this->CookieButton->BackColor = Color::Red;
    }
    else
    {
        this->CookieButton->BackColor = Color::White;
    }

(Заранее извиняюсь, код не хочет нормально отправляться)


Ответы (1 шт):

Автор решения: Harry

Потому что проверка "Red" — последняя. Если вы используете какой-то иной цвет, то в конечном итоге попадаете на else для Red...

Надо что-то типа

if (this->TBColor->Text == "Green")
{
    this->CookieButton->BackColor = Color::Green;
}
else if(this->TBColor->Text == "Yellow")
{
    this->CookieButton->BackColor = Color::Yellow;
}
else if (this->TBColor->Text == "Blue")
{
    this->CookieButton->BackColor = Color::Blue;
}
else if (this->TBColor->Text == "Red")
{
    this->CookieButton->BackColor = Color::Red;
}
else
{
    this->CookieButton->BackColor = Color::White;
}
→ Ссылка