BeginInvoke и EndInvoke с соответствующими сигнатурами.
Для асинхронного запуска нужно проделать следующие шаги:
1. Создать и запустить делегат с необходимой сигнатурой. После
этого можно работать со своим методом так же, как и с методами со
встроенной поддержкой асинхронной модели программирования.
2. Выбрать механизм оповещения о завершении и подготовить для
него все необходимое.
3. Запустить метод асинхронно.
4. Получить
результаты
в
основном
потоке
и
обновить
пользовательский интерфейс.
Хотя компонент BackgroundWorker обеспечивает удобный способ
выполнения простых задач в фоновом потоке, иногда может потребоваться
осуществить более тонкий контроль за фоновыми процессами. В этом
упражнении
вы
научитесь
асинхронно
выполнять
методы
с
использованием делегатов.
1. Создайте
новое
Windows-приложение
и
назовите
его
WinAsynchMethod.
2. Установите свойствам формы Size значение 425;200 и Text –
"Асинхронный запуск".
3. Добавьте на форму три надписи, два текстовых поля и две кнопки, и
установите им следующие свойства:
Свойство
Значение
button1
Name
btnRun
Location
16; 64
Text
Сумма
button2
Name
btnWork
Location
120; 128
Text
Работа
label1
Name
lblA
Location
8; 24
Text
Значение А
label2
Name
lblB
Location
216; 24
Text
Значение В
48
Свойство
Значение
textBox1
Name
txbA
Location
88; 24
Text
Достарыңызбен бөлісу: |