0

カスタムUserControlがアプリケーションのメインフォームを前面に表示する方法はありますか?

基本的に、私はいくつかのサードパーティライブラリと統合しており、それらを呼び出すたびに、そのアプリケーションは他のすべてのライブラリの前に置かれます。カスタムコントロールがメインフォームをすべての上に戻すように要求できるようにしたいと思います。

メインフォームからイベントをキャッチすることを考えていましたLeaveが、これは良い考えではないようです。

プログラム階層...

MainForm > TabControl > TabPages[] > each as a Custom UserControl

親または子に相手を認識させる必要はありません(それが推奨される方法でない限り)。私の通常の開発はWebベースであるため、誰が誰と話し、Windowsフォームアプリの適切な設計はまだ私にとって新しいものです。

4

1 に答える 1

2

あなたが試すことができます

Application.OpenForms[0].Activate() // or BringToFront()

Mainただし、メソッドでメインフォームを開始する前に、開いているフォームが必要であることに注意してください。

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// do not open any forms here
Application.Run(new MainForm());

メインフォームの前にいくつかのフォームを開く必要がある場合は、次のようになります。

Application.OpenForms["MainForm"].Activate()
于 2012-10-16T23:25:23.947 に答える