2013-02-18 3 views
0

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

+0

Слышали ли вы что-то о потоках? – Dennis

+0

Вы можете использовать потоки, чтобы отделить поток процесса от потока пользовательского интерфейса. Вы можете взять эту статью для потоковой обработки (http://www.albahari.com/threading/). – OnesimusUnbound

+0

Если процесс занимает много времени, вам необходимо использовать BackgroundWorker, например OnesimusUnbound, который предлагает –

ответ

2

Вы можете попробовать BackgroundWorker. Вы можете запустить процесс, не влияя на отзывчивость пользовательского интерфейса. Кроме того, вы можете отменить этот процесс.

Обращаясь к примеру в ссылке, поместите логику процесса в backgroundWorker1_DoWork, просто следуйте комментарию в исходном коде образца.

+0

Может у плз объяснить подробно? с примером. Заранее спасибо –

+0

В статье предоставлен [пример кода] (http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx#code-snippet-3), вы можете заменить 'ComputeFibonacci 'с вашим длительным ходом. – OnesimusUnbound

+0

Большое спасибо, я решил свою проблему. –

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