5

いくつかのコントロールを備えた単純な winforms フォーム (モーダル ダイアログとして使用) があります。テキスト ボックス コントロールの 1 つにツールチップを表示したいと考えています。ツールチップ コンポーネントをフォームに追加し、目的のコントロールのフォームのコンストラクターで 'SetToolTip' 呼び出しを行いました。さまざまな遅延プロパティにデフォルト値を使用しています。

ツールチップの表示が非常に不安定です。マウスがテキスト ボックスの上にあると、ツールチップが表示されることがあります。コントロールの上にカーソルを移動したときにのみ表示されることがあります。カーソルを前後に移動すると、ツールチップが表示される場合があります。表示されるタイミングは、InitialDelay よりもはるかに長いようです。数回動作する場合は動作を停止し、コントロールを出たり入ったりしてもツールチップが再び表示されることはありません。

ShowAlways を true に設定してみましたが、違いはありませんでした。

ツールチップを確実に機能させるための提案はありますか?

ありがとう。

4

1 に答える 1

2

以前はツールチップが確実に機能していましたが、これを複製するために行ったことは次のとおりです。

モーダル ダイアログとして使用しているフォームに、テキスト ボックス、ラベル、およびツールヒント コントロールを配置しました。

テキスト ボックスの MouseEnter イベント ハンドラは次のようになります。

    private void textBox1_MouseEnter(object sender, EventArgs e)
    {
        int XOffset = 0;
        int YOffset = -55;
        int Duration = 3000;

        toolTip1.ToolTipTitle = "ToolTip.";

        toolTip1.Show( "This is my tooltip. there are many like it but this one is mine",
               textBox1, XOffset, YOffset, Duration);
    }

それでおしまい。マウスでテキスト ボックスに入力すると、ツールヒントが 3 秒間表示され、その後消えてしまいます。「SetToolTip」をどこでも呼び出す必要がないことに注意してください。また、ツールチップがコントロールのどの部分も覆い隠しないようにオフセットを作成してください。これは奇妙さを引き起こすようです。

于 2012-11-15T10:25:00.507 に答える