Почему я не могу создать экземпляр System.Windows.Forms.Form в C #? - PullRequest
0 голосов
/ 29 июля 2010

У меня периодически возникает проблема, когда я не могу создать экземпляр класса System.Windows.Forms.Form в моей библиотеке C #.Я регистрирую исключения в моей программе, но, к сожалению, ничего не было записано для этой проблемы.Это может быть неактуально, но моя библиотека вызывается через COM (т. Е. Нет метода Main).

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

Обновление 1

Форма создается с использованием следующего кода в Thread, для которого установлено ApartmentState.STA.

  someForm = new Form();
  someForm.Visible = false;
  someForm.Text = "Hello world!";

1 Ответ

1 голос
/ 29 июля 2010

Это всего лишь предположение, поскольку вы не указали код и мало контекста, но, возможно, вам не хватает атрибута STAThread в методе точки входа (Main)?Это необходимо для приложений WinForms, использующих COM.

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