проблема с экспортом настраиваемой формы из DLL - PullRequest
0 голосов
/ 05 апреля 2010

Я работаю над приложением, поэтому я написал dll, который содержит форму с некоторыми дополнительными работами и методами. поэтому в начале моей программы поток запускает эту форму (из моей библиотеки DLL), чтобы получить некоторую информацию, а затем скрыть ее, инициализировать некоторые компоненты и форму приложения, а затем показать ее. когда поток приходит строка, где он определяет новый экземпляр экспортируемой формы

"MyForm inputform = new MyForm();"

выдает исключение под названием «Элемент управления верхнего уровня не может быть добавлен к элементу управления». так что я не знаю что делать? !! я попытался взять код формы из исходного кода dll и поместить его в основную программу, и он работает .... спасибо.

1 Ответ

2 голосов
/ 05 апреля 2010

Строка, которая вызывает ошибку, возможно, не та, которую вы показываете выше, а, вероятно, одна из следующих за ней строк. Т.е., если у вас есть что-то вроде следующего:

currentControl.Controls.Add(inputForm);

это не сработает и вызовет упомянутую вами ошибку.

Вместо этого используйте inputForm.Show(ownerForm), чтобы показать форму, когда вы хотите, и у вас все будет хорошо. Форма (элемент управления верхнего уровня) не может быть добавлена ​​к обычному элементу управления, такому как панель, текстовое поле или графический блок.

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

...