У меня есть две программы: DesktopApp1
и DesktopApp2
.Оба они являются формами Windows Forms, но первый выводит библиотеку классов (.dll), а второй ссылается на нее.
Форма 1 (dll):
namespace DesktopApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void generate()
{
crystalReportViewer1.ReportSource = @"C:/Users/me/rel1.rpt";
}
}
}
Форма 2:
// ...
using DesktopApp1;
namespace DesktopApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DesktopApp1.Form1 r = new DesktopApp1.Form1();
// The Form 1 window doesn't opens. Nothing happens.
r.generate();
}
}
}
Что я ожидаю:
Пользователь нажимает button1
из Форма 2 и новое окно Форма 1 (DLL) открывается с использованием метода generate
.
Что на самом деле происходит:
Пользователь нажимает button1
, курсор мыши переходит в состояние загрузки, и на экране ничего не появляется.
Что я, возможно, делаю неправильно?Есть ли другой способ преобразовать форму Windows в DLL и открыть ее из другой программы?