Member 13097185 Ответов: 1

Как изменить задний цвет кнопки после нажатия кнопки и наведения курсора мыши на событие.


то, что я пытаюсь сделать, это
1) всякий раз, когда я перемещаю курсор мыши на кнопку, ее цвет должен быть Синий.
2)Когда моя мышь покидает кнопку, ее цвет должен стать обычный.
3)всякий раз, когда я перемещаю курсор мыши на кнопку, ее цвет должен быть Синий
4) Затем, когда я нажимаю эту кнопку, ее цвет должен быть изменен на Красный.
5)после нажатия кнопки, когда моя мышь покидает кнопку, ее цвет должен быть красный сам.
6)в следующий раз, когда я наведу курсор мыши на кнопку, ее цвет должен стать синий.
7) Затем, когда моя мышь покидает кнопку, ее цвет должен быть красный сам

Здесь я получил все 6 шагов, и теперь мне нужно получить 7-й шаг.. как мне это сделать?

Заранее спасибо.

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

для 1,2,3,5 и 6 ступеней
 private void btnDateTime_MouseHover(object sender, EventArgs e)
{
if (btnDateTime.BackColor != Color.Empty && btnDateTime.BackColor != Color.Red)
            {
                btnDateTime.BackColor = Color.Blue;
            }
            
            if (btnDateTime.BackColor == Color.Red)
            {
                btnDateTime.BackColor = Color.Blue;
            }
}


для 4-го шага
private void btnDateTime_Click(object sender, EventArgs e)
       {
           btnHi.Visible = true;
           if(btnDateTime.BackColor == Color.Blue)
           {
               btnDateTime.BackColor = Color.Red;
           }
           else
           {
               btnDateTime.BackColor = default(Color);
           }
       }

для 7-го шага что я должен сделать??

1 Ответов

Рейтинг:
6

Karthik_Mahalingam

пробовать

bool isclicked = false;
       private void button1_Click(object sender, EventArgs e)
       {
           (sender as Button).BackColor = System.Drawing.Color.Red;
           isclicked = true;
       }

       private void button1_MouseHover(object sender, EventArgs e)
       {
           (sender as Button).BackColor = System.Drawing.Color.Blue;
       }

       private void button1_MouseLeave(object sender, EventArgs e)
       {
           System.Drawing.Color defaultColor = System.Drawing.SystemColors.Control;
           (sender as Button).BackColor = isclicked ? System.Drawing.Color.Red: defaultColor

       }


Member 13097185

Спасибо это отличный код

Karthik_Mahalingam

добро пожаловать

Member 13097185

Спасибо вам, это отличный код.Но после этого 7-го шага на кнопке нажмите, как вернуться к нормальному цвету?

Karthik_Mahalingam

что будет после 7-го?
на каком основании

Member 13097185

(отправитель как кнопка).BackColor = Система.Рисование.Цвет.Красный;
isclicked = истина;

после этого шага мне нужно вернуться к цвету по умолчанию при нажатии кнопки