我在 C# 中创建了一个 COM Visible DLL,它应该在主机应用程序(非托管)中用户的一些输入后显示一个表单。它可以正常工作ShowDialog()
,但理想情况下,即使在 DLL 完成后,表单也应该继续运行。因为表单需要一些数据,所以不能使用单独的项目Main(string[] args)
。
我怎样才能做到这一点?我尝试了类似的方法,但没有奏效。
public class FormManager : ApplicationContext
{
FormMain frmMain;
public FormManager()
:base(new FormMain())
{
frmMain = (FormMain)this.MainForm;
frmMain.Closed += new EventHandler(OnFormClosed);
}
public void SetData(object o1, object o2)
{
if (frmMain != null)
{
frmMain.SetData(o1, o2);
frmMain.Show();
}
}
private void OnFormClosed(object sender, EventArgs e)
{
ExitThread();
}
}
我不知道Application.Run
应该在哪里插入。