1

私は自分のアプリケーションを開発するのにとても幸運でした...今まで。
私のアプリケーションのメイン フォームは MDI の親であり、今夜までテストに MDI の子を追加することを考えていませんでした。
驚いたことに、MDI の親は今のところ「フォーカスを得ていない」ようです。Focus イベントと OnFocus メソッドが呼び出されることはありません。つまり...フォーカスされているように見えますが、コード内のフォーカスイベント/メソッドはどれも機能しません。代わりに、MDI 子がフォーカスを報告します。

これを修正するにはどうすればよいですか?

4

1 に答える 1

4

これは仕様によるものです。フォームは、他のウィンドウやコントロールのコンテナーとして機能します。コントロールがフォーカスされ、ユーザーはボタンやテキスト ボックスなどと対話します。フォームにコントロールがない場合にのみ、フォーカスを取得できます。これは、フォーカスを取得できるものが他にないためです。コントロールを配置するとすぐに、MDI 子フォームでも同じことが起こります。または、Panel または UserControl、その他のコンテナー コントロール タイプを使用します。

フォームには、Activate イベントと Deactivate イベントがあります。ActiveForm は、1 つが現在アクティブであることを示します。activefocusedの違いに注意してください。

于 2010-12-23T21:50:13.660 に答える