Консультация № 141855
20.08.2008, 21:46
0.00 руб.
0 4 2
Подскажите, возможно ли создать DLL на C#, которая содержала бы форму ?

Обсуждение

Неизвестный
20.08.2008, 23:01
общий
Да, только что пробовал на Visual C# 2008.
Создал обычную DLL(ClassLibrary). Потом добавил в проект форму(Щелчок правой кнопкой мыши по проекту в Solution Explorer->Add->Class...->Windows Form). Потом скомпилировал DLL. Создал новый проект Windows Forms Application. Добавил в него нашу DLL (Project->Add Reference->Browse). На форму положил кнопку. И в её обработчике ввел такой код:
Код:
  
ClassLibrary1.Form1 DllForm = new ClassLibrary1.Form1(); //Создаем экземпляр формы. ClassLibrary1 - наша DLL.
DllForm.Show(); //Показываем форму

В результате по нажатию на кнопку показывается наша форма из DLL.
Вот исходники DLL и программы использующей форму из этой DLL.
Неизвестный
20.08.2008, 23:24
общий
Вот исходники DLL и программы использующей форму из этой DLL.
Неизвестный
21.08.2008, 15:46
общий
это ответ
Здравствуйте, Ton!
Да можно. Создаете проект СLass Library. В нем пишите что угодно. Компилируете. Добавляете референс на этот проэкт в проэкте типа Windows Application. И работаете со всеми класами вашей длл-ки, как если бы они находились в вашем главном проекте. С одним лишь но необходимо добавить namespace вашей либы в Uses( в противном случае его нужно писать кажый раз при попытке обращение к обектам бибилиотеки, так же помните этого можно избежать если namespaces для библиотеки и главного приложения сопадают)
Неизвестный
22.08.2008, 22:14
общий
это ответ
Здравствуйте, Ton!
Да, только что пробовал на Visual C# 2008.
Создал обычную DLL(ClassLibrary). Потом добавил в проект форму(Щелчок правой кнопкой мыши по проекту в Solution Explorer->Add->Class...->Windows Form). Потом скомпилировал DLL. Создал новый проект Windows Forms Application. Добавил в него нашу DLL (Project->Add Reference->Browse). На форму положил кнопку. И в её обработчике ввел такой код:
Код:
  
ClassLibrary1.Form1 DllForm = new ClassLibrary1.Form1(); //Создаем экземпляр формы. ClassLibrary1 - наша DLL.
DllForm.Show(); //Показываем форму

В результате по нажатию на кнопку показывается наша форма из DLL.
Вот исходники DLL и программы использующей форму из этой DLL.
Удачи!!!
Форма ответа