Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2011, 18:00   #1
nats
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 65
По умолчанию Многопоточность

Здраствуйте. У меня такая ситуация.
Пограмма формирует документы которые находяться в ЛистБоксе с возможностью выбора. Фомирования идет в фоновом потоке а в главном что б пользователь не скучал идет ПрогресБар.(использую BackgroundWorker)
Так вот в коде стоит проверка выбран ли дукумент:
Код HTML:
for (int selectedDocIndex = 0; selectedDocIndex < listView1.Items.Count; selectedDocIndex++)
                        {
                            
                            if (!listView1.Items[selectedDocIndex].Checked) continue;
}
Так вот мне пишет что я не могу обратиться к ЛистБокс потому что он создан не в этом потоке. Как передать его сюда
P.S: С потоками работаю первый раз. Так что если можно то с примерами кода.
Спасибо
nats вне форума Ответить с цитированием
Старый 24.06.2011, 18:13   #2
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Если гуй на WPF, то как то так.
Код:
Dispatcher.BeginInvoke(DispatcherPriority.Normal,(ThreadStart)delegate(){   
        textBlock1.Text = message;
      });
the_deer_one вне форума Ответить с цитированием
Старый 24.06.2011, 19:50   #3
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Читаем форум. Каждую неделю уж точно спрашивают про потоки.
InvokeRequired для Winforms.
Spawn™Production® вне форума Ответить с цитированием
Старый 25.06.2011, 10:41   #4
nats
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 65
По умолчанию

нет....пишу в WindowsForm.
а как вызвать через Инвоук. что пихать в делегат?
nats вне форума Ответить с цитированием
Старый 25.06.2011, 10:46   #5
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Цитата:
а как вызвать через Инвоук. что пихать в делегат?
Любой Делегат (MSDN)
Весь фокус в том, что там можно выполнить любой делегат. Просто он выполнится в том потоке, в каком был создан элемент управления.
Spawn™Production® вне форума Ответить с цитированием
Старый 25.06.2011, 11:51   #6
nats
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 65
По умолчанию

спасибо большое
nats вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточность boo_mago Общие вопросы C/C++ 7 21.03.2011 21:23
Многопоточность Dezmont_ Общие вопросы .NET 1 06.11.2010 18:34
Многопоточность CrazyDude Общие вопросы Delphi 1 18.04.2010 19:00
Многопоточность Neymexa Помощь студентам 3 13.04.2010 11:43
Многопоточность JakSon Общие вопросы Delphi 10 27.12.2009 02:19