Как заставить и событие разрешить из другого события - PullRequest
0 голосов
/ 18 ноября 2009

У меня есть приложение Winforms (.NET 3.X), которое запускает метод в классе для обработки некоторых данных. Метод периодически вызывает событие StatusUpdate со счетчиком количества обработанных элементов. У меня есть ToolStripStatuslabel в форме, которую я хотел бы обновить с помощью счетчика. Проблема в том, что метка состояния никогда не обновляется с этим счетчиком, пока процесс не завершится. Ниже приведен код из обработчика событий обновления статуса

toolStripStatusLabel.Text = e.Count.ToString (); statusStrip.Refresh ();

Я думаю, что проблема в том, что событие Refresh не запускается, потому что метод обработки вызывается из события нажатия кнопки. Я думаю, что есть способ заставить Refresh обрабатываться, но я не помню, что это такое.

Мое единственное другое решение - выполнить обработку в своем собственном потоке.

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

Нашел ответ в другой теме:

Вызовите Application.DoEvents () после установки метки, но вместо этого вы должны выполнять всю работу в отдельном потоке, чтобы пользователь мог закрыть окно.

Это команда, о которой я думал ...

0 голосов
/ 18 ноября 2009

Вы пытались вызвать обновление на самой этикетке? toolStripStatusLabel.Refresh ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...