Межпоточная синхронизация

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Межпоточная синхронизация

Сообщение Angerslave » 08.12.2006 (Пт) 11:09

В общем сколько я не глядел в факи, мануалы и т.д. так и не въехал - мне, к примеру, нужно изменить Text у Label. При обращении из другого потока(который я сам создаю и запускаю) мне, естественно, пишет что так нельзя. А теперь можно по-порядку, доходчиво, специально для "умных", с кусочками кода(если можно) прошу объяснить, как же мне это сделать? Нужно для сохранения возможности работать с формой при закачке инфы с нета, к примеру. Заранее благодарствую.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.12.2006 (Пт) 12:02

Смотри, я пошёл в поиск (который выделен красным наверху страницы) и нашёл http://bbs.vbstreets.ru/viewtopic.php?p=110342#110342, http://bbs.vbstreets.ru/viewtopic.php?p=111186#111186, http://bbs.vbstreets.ru/viewtopic.php?p=160093#160093, http://bbs.vbstreets.ru/viewtopic.php?t=22581 и http://bbs.vbstreets.ru/viewtopic.php?p=6592463#6592463.
Как думаешь, стоит выписать тебе предупреждение за неиспользование поиска?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Maitris
Постоялец
Постоялец
 
Сообщения: 656
Зарегистрирован: 02.03.2005 (Ср) 21:00
Откуда: Из другой цивилизации.

Сообщение Maitris » 08.12.2006 (Пт) 13:33

Angerslave
Для модификации свойств из другого потока юзай метод Invoke. По этому слову и ищи.
----

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Сообщение Angerslave » 08.12.2006 (Пт) 17:52

Спасибо, с Invoke и делегатами разобрался :) Теперь другой вопрос: у меня такая система, что хочу новую форму в новом триде открывать. Для этого повесил на класс формы переменную Thread. Затем, когда я по нажатию кнопки запускаю этот трид, он как только он выполняет все действия(открывает форму, отрисовывает, даёт фокус), сразу же закрывается... Я понимаю что это есть в MSDN, но с техническим английским у меня туговато. Не подскажите, что делать в данном случае?

Nord777
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1144
Зарегистрирован: 22.02.2004 (Вс) 13:15
Откуда: Подольск

Сообщение Nord777 » 09.12.2006 (Сб) 10:15

В созданном потоке для запуска формы используй :
Код: Выделить всё
Application.Run(Form2)

вместо
Код: Выделить всё
Form2.Show()
Microsoft Visual Studio 2008
Microsoft .NET Framework 3.5

Angerslave
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.10.2006 (Пн) 9:29
Откуда: Омск

Сообщение Angerslave » 09.12.2006 (Сб) 10:26

Огромный фенькс :) Чёрт, надо курить ман...


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 90

    TopList