Исключительная недопустимая операция - «Недопустимая операция между потоками: доступ к элементу управления TextBox1 осуществляется из потока, отличного от потока, в котором он был создан». - PullRequest
0 голосов
/ 08 марта 2010

"Если необходимость - мать изобретение, я хотел бы убить парня кто это придумал. "

-Джимми Баффет

Мне все равно, если 100 человек с миллионной репутацией спрыгнут у меня в горле за эти слова, но кто когда-либо думал о том, чтобы бросить это исключение, заслуживает судьбы хуже смерти.

У меня есть QUITE LITERALLY , который скопировал и вставил код из одного проекта в другой, чтобы заполнить стандартные данные небольшим набором текстовых полей. В одном приложении данные отображаются отлично. Новый, над которым я сейчас работаю, конечно, вызывает это исключение.

Итак, вот мой вопрос - почему один бросает его, а другой нет, если код такой же? Есть ли настройка в настройках проекта? Есть ли свойство в текстовом поле, которое предотвращает это?

Я не помню, чтобы в проекте было что-то игнорировать это исключение, но код ТОЧНО ЖЕ .

Ответы [ 2 ]

4 голосов
/ 08 марта 2010

Атрибут STAThread установлен в потоке, создающем элементы управления?

Заполняемый код вызывается в потоке пользовательского интерфейса или нет? Никого не волнует, правильно ли вы скопировали код - если вызов не в том потоке для начала.

1 голос
/ 08 марта 2010

Я не хочу повторять сообщение об ошибке, но вы пытаетесь изменить элемент управления из потока, отличного от потока, в котором был создан элемент управления.

Взгляните на InvokeRequired и Invoke .

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