![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
jfx |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Задача такая: Есть прогрес бар, есть поток который что-то делает и двигает прогресс бар. Есть кнопка Cancel при нажатии на которую нужно сказть потоку что бы он завершился. Перед завершением поток должен закрыть все открытые файлы, т.е. не просто прекратиться на том месте где он получил сообщение а перейти на процедуру корректного завершения.
|
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
В принципе, просто:
|
|||
|
||||
jfx |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Спасибо.
|
|||
|
||||
jfx |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Еще пара вопросов, если можно
![]() Как мне сообщить основному потоку (UI) что второй поток закончил работу и вернуть какой-то результат. Насколько я понимаю нужно это делать с помощью событий. Как? В английском к сожалению силен не сильно. Вот тут вроде довольно прозрачный пример, но я не разобрался ![]() Разъясните пожалуйста. Это сообщение отредактировал(а) jfx - 31.5.2005, 13:04 |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
С помощью событий можно. Дожидаешься момента, когда поток подойдет к концу, и выбрасываешь событие.
На этом событии у тебя обработчик. Он будет выполнен в потоке, откуда событие запущено. Псведвокод:
Естественно, doOnActionFinished может находиться и в другом классе. |
|||
|
||||
jfx |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
Спасибо. А как быть если основной поток и дополнительный в разных классах?
Пример:
Это сообщение отредактировал(а) jfx - 1.6.2005, 17:14 |
|||
|
||||
jfx |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 18.10.2004 Репутация: 1 Всего: 1 |
...вечер был и я сильно тупил...
Разобрался короче ![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Не за что. Сорри, мне почему-то не пришло уведомление о твоем ответе, поэтому я ничего не сказал.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |