ホスト アプリケーション (アンマネージ) でユーザーからの入力の後にフォームを表示する必要がある COM 可視 DLL を C# で作成しました。で問題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
に挿入すればいいのかわからない。