2013-09-14 3 views
0

Im написание dll, которое наследует список и хочет получить доступ к форме проекта, который использует мою библиотеку.vb.net как получить доступ к форме внедрения?

Итак, у вас есть проект 'bla' и форма 'form1', которая использует мою lib. Есть ли способ получить «форму1»?

Мне нужно это, потому что я хочу добавить больше элементов управления в 'form1', чем только мой измененный список.

Так что я искал что-то вроде:

EmmbeddingForm.Controls.Add(ButtonBla) 

Спасибо за любую помощь!

ответ

2

Это всегда неправильно, что нужно делать, вы не имеете ни малейшего представления о том, как правильно разместить кнопку. Вы не можете предположить, что форма еще не имеет элемента управления в том же месте. Фактически, форма даже не должна быть родителем элемента управления, его можно разместить на панели или в SplitContainer и т. Д. Шансы, что кнопка перекрывает другой элемент управления или просто не видны вообще, очень высоки. Получение неправильной настройки табуляции в значительной степени гарантировано. Путь слишком много проблем для решения.

Вместо этого используйте UserControl, он был создан для объединения нескольких элементов управления в один.

+0

спасибо за подсказку :) – MaBi

0

Control.FindForm()

Me.FindForm().Controls.Add(...) 
+0

ok, но теперь вам нужно будет получить имя формы. Я мог бы создать свойство, в котором имя определено пользователем, но это не самый лучший способ. – MaBi

+0

Я этого не понимаю. У вас есть весь объект 'Form', возвращаемый' FindForm'. Этот объект имеет свойство «.Name» среди других. – GSerg

+0

да, но findform нуждается в параметре имени – MaBi

Смежные вопросы