2

textboxesと関連付けたいシリーズがありtooltipます。これtooltipは、ユーザーが黒をクリックすると表示され、textbox入力を開始するか、を離れると消えますtextboxtooltipはの真上に配置する必要があります。これが、メソッドの代わりにメソッドtextboxを使用している理由です(配置を制御できます)。ToolTip.ShowToolTip.SetTooltip

これまでのところ、それぞれtextboxに3つの方法があります。Enter、Leave、TextChanged:

tt = new ToolTip();
String message = "some message"; //different for each textbox

private void textbox1_Enter(object sender, EventArgs e)
{
    if (textbox1.Text == String.Empty)
    {
        tt.Show(message, textbox1, new Point(0, -2 * textbox1.Height));
    }
}

private void textbox1_Leave(object sender, EventArgs e)
{
    tt.Hide(textbox1);
}

private void textbox1_TextChanged(object sender, EventArgs e)
{
    tt.Hide(textbox1);
}

ここで2つ考えてみましょうtextboxes。クリックすると、期待どおりの場所で期待どおりにtextbox1トリガーされ、終了すると消えます。同じことを試してみても機能します。もう一度クリックすると、適切なメッセージが表示されますが、配置はをクリックした場合と同じ場所にあります。それだけでなく、の形はと同じです。つまり、メッセージが切り捨てられます。(のメッセージはのメッセージよりも長くなります)。誰かがこれを引き起こしている可能性があることを知っていますか?tooltiptextbox1textbox2textbox1tooltiptextbox2tooltiptextbox2textbox1textbox2

4

1 に答える 1

1

IsBalloonこれは、プロパティが trueの場合にのみ発生すると思います。残念ながら、既知のバグです。

次のようにしてみてください。

private void textbox1_Enter(object sender, EventArgs e) {
  if (textbox1.Text == String.Empty) {
    tt.Show(string.Empty, textbox1, 0);
    tt.Show(message, textbox1, new Point(0, -2 * textbox1.Height));
  }
}
于 2013-02-06T15:40:40.213 に答える