У меня есть простая метка состояния, которую я часто обновляю во время продолжительной работы. Процедура находится на таймере и, следовательно, на другом потоке, поэтому я получаю ошибку Cross-thread operation not valid
. Я нашел исправить на SO, который выглядит следующим образом:Объект доступа, созданный другим потоком без вызова каждый раз?
lblQuery1Status.Invoke(new Action(delegate
{
lblQuery1Status.Text = "Status: Publishing";
}));
Однако я обновляю текст этого элемента управления 7 или 8 раз в течение дня. Есть ли более эффективный или простой способ сделать это?
Что неэффективно? Если вам нужно сделать это 7-8 раз, вставьте его в метод со статусом как ввод строки. Я смотрю на вашего представителя, и я действительно не пытаюсь быть забавным - просто любопытно, что вы общаетесь, когда говорите эффективно? –
Наверное, мне было интересно, могу ли я вызвать его один раз в новом потоке, а не каждый раз, когда мне нужно получить к нему доступ. Я новичок в '.net' и особенно в потоковом режиме. –