У меня есть событие нажатия кнопки
private void AnswerPressAction(object sender, RoutedEventArgs e)
{
Button button = (Button)sender;
Button validButton = null;
string buttonName = button.Name;
button.Background = new SolidColorBrush(Colors.Yellow);
System.Threading.Thread.Sleep(1000);
int presedAnswer = 0;
switch (buttonName)
{
case "buttonAnswer1":
presedAnswer = 1;
break;
case "buttonAnswer2":
presedAnswer = 2;
break;
case "buttonAnswer3":
presedAnswer = 3;
break;
case "buttonAnswer4":
presedAnswer = 4;
break;
}
switch (_valid_answer)
{
case 1:
validButton = buttonAnswer1;
break;
case 2:
validButton = buttonAnswer2;
break;
case 3:
validButton = buttonAnswer3;
break;
case 4:
validButton = buttonAnswer4;
break;
}
if (presedAnswer != 0 && presedAnswer == _valid_answer)
{
button.Background = new SolidColorBrush(Colors.Green);
System.Threading.Thread.Sleep(1000);
CreateQuestion(1);
}
else
{
button.Background = new SolidColorBrush(Colors.Red);
validButton.Background = new SolidColorBrush(Colors.Green);
System.Threading.Thread.Sleep(1000);
_gameLevel = 0;
}
}
и я изменю цвет кнопки в этой функции, но кнопка нажата, и я не могу изменить цвет (кнопка активна/нажата).
как сделать javascript e.preventDefault()
или запустить это событие до нажатия кнопки, когда кнопка не активна?
async
здесь довольно изящное решение. Какое другое решение вы думаете об использовании? 04.01.2016DispatcherTimer
(но это сложнее). 04.01.2016await Task.Delay(TimeSpan.FromSeconds(1.0));
внутри методаasync
. 04.01.2016