2009-05-08 11 views
2

イベントに応答するために別のプログラムからフォーカスを得ることは可能ですか?しかし、レスポンスが処理されたら、以前のプログラムに戻ってカーソルを復元します。デスクトップ開発:フォーカスを失った後にターゲットを記憶する

これは奇妙な質問のように聞こえるが、

  1. ユーザーがプログラムでテキストボックスに入力しているの線に沿ってそれを考えます。
  2. のプログラムBがポップアップし、ユーザーが何かを確認するためにいくつかのボタンを押します。
  3. プログラムBは、コントロールをプログラムAに戻し、テキストボックスの選択を復元します。

完全なC#ソリューションがある場合は、素晴らしいですが、これは通常より少しの労力が必要なように聞こえるかもしれません。

どのような考えですか?

答えて

1

これを行うと、ユーザーがポップアップウィンドウで望ましくない値を選択する可能性があります。たとえば、誰かがWordで入力しています。アプリケーションはウィンドウをポップアップし、「Enter」キーを押すとデフォルトのボタンなどの値が選択されます。やりたくなくても、ユーザーはフォーム上の間違った値を「選択」しました。

Windows自体がこの傾向があり、非常に迷惑です。デスクトップショートカットをすばやくダブルクリックしてアプリケーションを開いた後、アプリケーションが起動する前に(たとえば)電子メールに戻すと、フォーカスされた電子メールウィンドウからフォーカスが削除され、直前に開いたアプリケーションにフォーカスが集中する傾向がありますあなたの電子メールのテキストまたはキーボードのストロークが、ちょうど開いたウィンドウに移動するようにします。

1

私の経験では、Windowsプログラムはちょうどこの方法で動作します。ユーザーがマウスクリックでフォーカスを戻しているため、フォーカスがリセットされるため、フォーカスがリセットされないことがよくあります。それがwinformsアプリケーションの場合は、おそらくフォームレベルでフォーカスを失った/フォーカスイベントを持つ何かを行うことができます。

関連する問題