1

新しいプラグインベースのアプリを書いています。これにより、アセンブリが独自のアプリドメインに読み込まれ、Application.Run(pluginForm)を介して各ドメイン内に指定されたメインフォームが表示されます。アプリドメイン内でApplication.Run(pluginForm)を呼び出す前に、ローダーアプリのメインフォームを各pluginFormの親として設定しました。したがって、pluginFormが表示されると、ローダーアプリのmainFormの前に常に表示されます。

私の問題は、ユーザーがpluginForm(子フォーム)を初めてクリックすると、フォーカスが失われ、mainForm(ローダーアプリのフォーム)がフォーカスを取得することです。(ただし、pluginFormは前面にとどまります)したがって、ユーザーは、pluginFormを初めてフォーカスするために、2回クリックする必要があります。

これはかなり迷惑です。どうすればこれを修正できますか?

4

2 に答える 2

2

を呼び出して、子フォームを親の UI スレッドでモーダル ダイアログとして表示する必要がありますShowDialog()

于 2010-09-21T20:18:37.673 に答える
-1

子フォームを呼び出すときに使用します

childForm.ShowDialog(parentForm);

または同等のもの

childForm.ShowDialog(this);
于 2010-09-22T05:39:34.117 に答える