4

私を助けてくれる人がいるのだろうか?

私が抱えている問題は、フォームの再アクティブ化時にフォーカスを盗む Windows フォームの TabPage です。フォームには、4 つまたは 5 つの TabPages を持つ TabControl があります。各タブ ページには、多数のさまざまなコントロールがあります。

シナリオは次のとおりです。ユーザーが最初の TabPage のいくつかのコントロールをタブで移動すると、新しいフォームが生成されて表示され (たとえば、TextBox の Leave イベントの 1 つから)、最初のフォーム自体がフォーカスを取得すると、最初のフォームからフォーカスが削除されます。ユーザーは、新しいフォームで値を選択して閉じます。- 次に、元のフォームがユーザーがタブで移動した場所を認識し、そのコントロールにフォーカスを設定することを期待します。

ただし、フォームが再アクティブ化されると、フォーカスが設定され、ユーザーが到達した場所や、アクティブな TabPage のタブ オーダーの最初のコントロールに戻ることはありません。代わりに、アクティブな TabPage 自体にフォーカスを与えます。

この辺りはありますか?

ありがとう、よろしく、デュアン。

4

1 に答える 1

1

現在のページと最後にアクセスしたページを格納する変数を (タブ コントロール クラスでスコープ内に保持するために) 作成しました。また、フォーカスのあるコントロールを格納する変数を作成し、ポインター、参照などを使用します。

戻るときは、変数を使用してそのコントロールにフォーカスを戻します。

HTH

于 2010-08-13T15:07:10.077 に答える