2011-12-14 1 views
8

テキストボックスの場合、フォーカスがテキストボックスにあるときにすぐにツールチップを表示し、マウスがテキストボックスの上に移動したときだけでなく、フォーカスの持続時間中もそこにとどまります。フォーカスが特定のテキストボックスにあるときにツールチップを表示するにはどうすればよいですか?

enter image description here

私はそれをどのように行うことができますか?

答えて

12

EnterLeaveイベントがここにおそらく有用であり、ショーそれをそこに保つために0の持続時間を持つ。

private ToolTip tt; 

private void textBox1_Enter(object sender, EventArgs e) { 
    tt = new ToolTip(); 
    tt.InitialDelay = 0; 
    tt.IsBalloon = true; 
    tt.Show(string.Empty, textBox1); 
    tt.Show("I need help", textBox1, 0); 
} 

private void textBox1_Leave(object sender, EventArgs e) { 
    tt.Dispose(); 
} 

注:私の例のよう二回Show(...)メソッドを呼び出すには、コントロールに正しく指すように「ポインタ」を強制します。

-1

System.Windows.Forms.ToolTipを使用し、テキストボックスのGotFocus イベントでそれを示し、のLostFocusイベントでそれを隠す:

void textBox_GotFocus(object sender, EventArgs e) 
{ 
    toolTip.Show("your tip", textBox); 
} 

void textBox_LostFocus(object sender, EventArgs e) 
{ 
    toolTip.Hide(textBox); 
} 
+0

'Enter'と' Leave'を行うときに、これらのイベントは、Visual Studioの[プロパティ]ペインに表示されない理由を任意のアイデア? –

2

は、イベント名をテストしています

private void textbox_Enter(object sender, EventArgs e) 
    { 
     toolTip1.Show("your tip here", textbox); 

    } 

    private void textbox_Leave(object sender, EventArgs e) 
    { 
     toolTip1.Hide(textbox); 

    } 

ツールチップが制御され、ツールボックスから追加する必要があります。

0

mouse hovermouse leaveイベント

private void textBox1_MouseHover(object sender, EventArgs e) 
    { 
     toolTip1.Show("your tip here", textBox2); 

    } 

    private void textBox1_MouseLeave(object sender, EventArgs e) 
    { 
     toolTip1.Hide(textBox2); 
    } 

を使用して>

関連する問題