我有两个程序:DesktopApp1
和 DesktopApp2
。它们都是 Windows 窗体,但第一个输出到类库 (.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();
}
}
}
我的期望:
用户单击Form 2的button1
,新的Form 1 (DLL)窗口将打开,执行生成
方法。
实际发生的情况:
用户点击button1
,鼠标光标变为加载状态,屏幕上没有任何显示。
我可能做错了什么?还有其他方法可以将 Windows 窗体转换为 DLL 并从另一个程序打开它吗?
最佳答案
使用 Form.Show(...) 或 Form.ShowDialog(...) 方法。
关于C# - 如何在 DLL 中打开 Windows 窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52972679/