0

私の質問は、DevExpress (C#) コントロールを使用するアプリケーションでのヒントの可視性に関するものです。アプリケーションには、いくつかのコントロールがあるパネルがあり、特定の瞬間に表示されるのは 1 つだけです。ユーザーは、表示するコントロールを切り替えて選択できます。コントロールには、いくつかのボタン (コントロールの種類ごとに異なるボタン) を備えたバーがあります。

問題は、マウス カーソルをボタンの上に置いたときに、ボタンのヒントが表示されないことがあるということです。アプリケーションを開いた後に表示されますが、ユーザーが同じタイプのコントロールに切り替えると、ヒントは表示されません。ユーザーが別のタイプのコントロールに切り替えると、ヒントが表示されることがありますが、常にではありません (ルールが見つかりませんでした)。ただし、常に、ユーザーが別のアプリケーションのウィンドウに移動して戻ると、ヒントが表示されます。ShowScreenTipsInToolbarsバー マネージャーのプロパティtrueは、プログラムの実行中に値を持ちます。

この奇妙な動作の原因を知っていますか? また、マウス カーソルがボタンの上にあるときに常にヒントが表示されるようにするにはどうすればよいでしょうか? 私はアプリケーションの作成者ではありません (問題を解決できるかどうか尋ねられました) ため、技術的な詳細については詳しく説明できません。

4

1 に答える 1

0

コントロールにフォーカスがない場合、そのコントロールの子は、マウスがその上に置かれていることを認識しません。したがって、ツールチップは表示されません。これは、フォーカスがコントロールに渡されるまで当てはまります (通常は、コントロールの境界内で左クリックします)。

コードを見なくても、コントロールの可視性の切り替えを担当するコードが何であれ、可視コントロールにフォーカスがあることを保証するものではないというのが私の最善の推測です。Control.Focus()のドキュメントがここで役立つかもしれません (Control.Focus()フォーカスを設定するメソッドの機能には例外があることに注意してください)。

于 2013-09-29T09:04:30.973 に答える