Я хочу менять задний цвет каждую 1 секунду в winform, используя таймер - PullRequest
0 голосов
/ 26 мая 2019

Я хочу менять цвет фона каждую 1 секунду, используя таймер в winform. Например, красный -> SystemColors.Control -> красный -> SystemColors.Control -> ..

У меня есть меню в mainUI. Поэтому, когда я нажимаю на этот элемент управления, я хочу видеть автоматическое изменение цвета фона mainUI.

Вот код, который я написал. что я должен изменить в этом коде?

private void RadMenuItem9_Click(object sender, EventArgs e)
{
    System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer();
    timer.Enabled = true;
    timer.Interval = 2000;
    timer.Tick += new EventHandler(Timer1_Tick);
    timer.Start();
}

private void Timer1_Tick(object sender, EventArgs e)
{
    BackColor = Color.Red;
    Thread.Sleep(1000);
    BackColor = SystemColors.Control;
}

1 Ответ

1 голос
/ 26 мая 2019

Вам нужно сделать логику для переключения цветов.Здесь, поскольку вы хотите переключаться между двумя цветами, вы можете проверить текущий цвет и переключиться на другой.Вы не можете использовать Sleep, так как это заблокирует поток пользовательского интерфейса, и никакие изменения не будут отображаться на экране, пока поток заблокирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...