Я пытаюсь изменить для заданного промежутка времени обратную цвету pictureBox
, когда пользователь нажимает кнопку. Я пытался использовать таймеры, но я видел это Stopwatch
по другому вопросу. Проблема в том, что код внутри цикла не работает должным образом, и он продолжает сбой. Как я могу это сделать? Код нижеИзменить обратную цветную картинку для x количество времени
private void b_click(object sender, EventArgs e)
{
Button button = sender as Button;
Dictionary <Button, PictureBox> buttonDict= new Dictionary<Button, PictureBox>();
//4 buttons
buttonDict.Add(bRED, pbRED);
buttonDict.Add(bBlue, pbBLUE);
buttonDict.Add(bGREEN, pbGREEN);
buttonDict.Add(bYELLOW, pbYELLOW);
Stopwatch s = new Stopwatch();
s.Start();
while (s.Elapsed < TimeSpan.FromSeconds(0.5))
{
buttonDict[button].BackColor = Color.Black;
label1.Text = "black";//This part does run
}
buttonDict[button].BackColor = Color.White; //the pictureBox does turn white
s.Stop();
}
Использование таймера , Секундомер предназначен только для измерения времени между пуском и остановкой (например). –