Мне нужно изменить цвет фона кнопки сам по себе, это означает, что когда я нажму на кнопку, она должна изменить цвет фона, но когда я снова нажму на ту же кнопку, мне нужно вернуть цвет кнопки по умолчанию
Я пробовал этот метод события
private void slot_1(object sender, RoutedEventArgs e)
{
//SlotLogic();
slot1.Background = Brushes.Green;
}
private void slot_2(object sender, RoutedEventArgs e)
{
//SlotLogic();
slot2.Background = Brushes.Green;
}
1 - Вы указали приложение Windows. Это как-то широко. Я полагаю, вы имеете в виду Windows Forms?
2 - Вы также не проверяете текущее состояние кнопки, поэтому я не уверен, как вы думаете, что двойное нажатие на одну и ту же кнопку будет иметь другой результат, поскольку вы выполняете одно и то же дважды slot1.Background = Brushes.Green;
.
private bool isSlot_1Clicked = false;
private void slot_Click(object sender, EventArgs e)
{
if (isSlot_1Clicked)
slot.BackColor = Color.Green;
else
slot.BackColor = Color.Red;
isSlot_1Clicked = !isSlot_1Clicked;
}
Если вы хотите иметь логику переключения, вам нужно проверить текущее состояние, чтобы инвертировать его. Есть много способов сделать это, я решил сохранить его в отдельной переменной isSlot_1Clicked
для простоты.
Вы также можете проверить цвет фона кнопки слота, или проверить свойство сложного объекта, или массив, и так далее.
Первые строки кода просто проверяют текущее состояние переменной и соответствующим образом изменяют фон кнопки. Последняя строка просто устанавливает переменную isSlot_1Clicked
в значение, обратное ей, выполняя суть логики переключения.
private Brush slot_1DefaultBackground = null;
private void Slot1_Click(object sender, RoutedEventArgs e)
{
// store the default background value
if (slot_1DefaultBackground == null)
slot_1DefaultBackground = slot1.Background;
// check the current background, and toggle accordingly
if (slot1.Background != slot_1DefaultBackground)
slot1.Background = slot_1DefaultBackground;
else
slot1.Background = Brushes.Green;
}
Эта версия сохраняет фон кнопки по умолчанию и сравнивает текущий фон с ним, чтобы выполнить логику переключения.
@AlaminSheikh рад, что смог помочь! добро пожаловать в сообщество
Что происходит и чего вы ожидали?