Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

C# вызов метода основного потока из вторичного, как?

63K
18 апреля 2012 года
Wiktor_
21 / / 31.01.2012
условия:
есть основной поток находящийся в ожидании событий. Работает вторичный поток.

задача:
вторичный поток должен периодически вызывать метод из основного потока не останавливаясь при этом.

вопрос:
не знаю как реализовать. Возможно ли, если да, каким путем?
Пробовал через генерацию события вторичным потоком - не получилось. Но учитывая мое понимание языка… Хотя бы что изучать, чтоб время не транжирить.
40K
18 апреля 2012 года
D129
228 / / 18.04.2012
Если вам надо что-то обновлять на форме -
то так:

delegate void SetControl(string message, Control componentToChange);

void SetText(string progress, Control label)
{
if (this.InvokeRequired )
{
SetControl DDD = new SetControl(SetText);
this.Invoke(DDD, progress, label);
}
else
{
label.Text = progress;

}

}
63K
18 апреля 2012 года
Wiktor_
21 / / 31.01.2012
Спасибо, но интересует что - то аналогичное обработке событий.
Происходит - тут, реагирует - там.
Надо чтобы основной процесс не тормозил с реакцией на контролы (кнопки, перетягивание формы по экрану...)
40K
18 апреля 2012 года
D129
228 / / 18.04.2012
Обработка событий происходит в том же потоке, в котором они "подняты".

Евент - сам по себе никакой многопотоковости не создает.
То есть, в вашем случае это не поможет (так, чтобы сразу) :-) .
Форму "замораживает" какой-то долгоиграющий процесс, который не дает обрабатывать очередь сообщений.

Вы можете создать обьект с эвентами, подписаться в главной форме на эти эвенты, но! если метод, который эти эвенты поднимает - бежит в другом потоке, то обработчик эвента обязан использовать инвок - то есть, ставить изменения на компонетах формы в очередь сообщений.
63K
18 апреля 2012 года
Wiktor_
21 / / 31.01.2012
D129 спасибо за пояснение
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог