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