2014-11-13 4 views
-2

У меня есть простой вопрос. Как приостановить программу? Я хочу менять фотографии очень медленно.C# Как приостановить программу

Мой код:

private void button2_Click(object sender, EventArgs e){ 
Image picture1 = Program.Properties.Resources.picture1; 
Image picture2 = Program.Properties.Resources.picture2; 
Button1.Image = picture1 
//Here I want pause 
Button1.Image = picture2 
} 
+5

что вы имеете в виду с паузой программу? –

+0

Я имею в виду что-то вроде Таймера или прочее. Я хочу просто изменить изображение кнопки, а затем подождать несколько секунд, а затем снова изменить его. – Kuri

+2

Возможно, вы не хотите останавливать паузу, так как вы не хотите полностью блокировать свое приложение и не реагировать на него. То, что вы, вероятно, хотите сделать, это использовать таймер для выполнения некоторого кода через некоторое время, пока приложение продолжает работать в то же время. [Подсказка: таймер поиска в MSDN] –

ответ

2

Если вы хотите процедурный код (как в вашем примере), без таймеров и без блокировки интерфейса:

await Task.Delay(1000) 
+0

Звучит неплохо, но у меня есть ошибка: оператор «ожидание» может использоваться только в асинхронном методе. Подумайте о маркировке этого метода с помощью модификатора «async» и измените его тип возврата на «Задача». – Kuri

+0

@Kuri Это сообщение непонятно? 'Рассмотрите маркировку этого метода с помощью модификатора 'async' и измените его тип возврата на« Задача ». –

+0

@Kuri Если вы никогда не использовали async/await before, я рекомендую прочитать http://msdn.microsoft.com/en-us /library/hh191443.aspx –

-1

Вы можете использовать темы или таймеры.

http://msdn.microsoft.com/en-us/library/swx5easy.aspx

http://programmingbaba.com/how-to-stop-system-threading-timer-in-c-do-net/

Или вы можете использовать метод сна для паузы в работе программы.

http://www.dotnetperls.com/sleep

+0

OP не использует потоки, и, как и в случае с другим ответом, вы не хотите спать в пользовательском интерфейсе. Таймеры в порядке ИМО. – alykins

+0

Ну, вы можете попробовать с таймером –

+0

Да, это моя точка, Таймер в порядке, но две другие вещи, которые вы связываете, - это темы, то есть несвязанные. Также вы ничего не уточнили - этот «ответ» должен быть комментарием. – alykins

Смежные вопросы