2

私は異常な問題を抱えていると思います.ツールチップに関する多くの質問は、なぜそれが表示されないのか、なぜ複数回表示されないのかということです. ただし、私の問題は、ツールチップ ラベルにカーソルを合わせると、ピクセルごとに表示されるラベル上でマウスをゆっくり動かすと、ツールチップが数回表示されることです。私は次のようなことを試しました:ToolTip1.ReshowDelay = 500; しかし、それは何の効果もないようです。label1_MouseEnter、および aも使用してみましlabel1_MouseLeaveたが、どちらも機能しません。

誰かが私を助けてくれることを願っています

これは、すべてが発生する必要があるコードです: :)

    private void label1_Hover(object sender, EventArgs e)
    {
        //Enter Help box texboxes
        System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
        ToolTip1.ShowAlways = true;
        ToolTip1.Show("Enter the Drive letter in the first textbox" + "\n" + "Enter the submap in the second textbox", label1);
    }
4

1 に答える 1

4

ホバー イベント ハンドラーを使用してツールヒントを作成すると、ユーザーがホバーするたびに新しいToolTipオブジェクトが作成され、ラベルに関連付けられます。最初にカーソルを合わせたときに 1 つのツールヒントが表示されることに気付くでしょうが、その後ホバーすると追加のツールヒントが作成されます。

ラベルのホバー イベントでツールヒントを作成するのではなく、フォームの作成時に一度作成するだけで済みます。このSetToolTip()メソッドにより、ツールチップが提供されたコントロールに関連付けられ、通常のツールチップとして動作します (ユーザーがコントロールの上にカーソルを置いたときにのみ表示されます)。

たとえば、次SetToolTip()の形式のコンストラクターを呼び出すことができます。

    public Form1()
    {
        InitializeComponent();

        new ToolTip().SetToolTip(label1, "Enter the Drive letter in the first textbox" + "\n" + "Enter the submap in the second textbox");
    }

または、フォームのロード イベント ハンドラでツールチップを作成することもできます。

于 2013-06-26T07:13:14.857 に答える