2

我有一系列textboxes我想与之关联的tooltiptooltip当用户单击黑色时,它会出现textbox,然后在他们开始输入或离开时消失textboxtooltip应该直接放在 上面,这textbox就是我使用ToolTip.Show方法而不是ToolTip.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);
}

现在考虑两个textboxes。单击会按预期在预期位置textbox1触发,然后退出会导致它消失。尝试同样的事情也有效。现在,如果我再次单击,则会显示正确的消息,但展示位置与我单击的位置相同。不仅如此,而且 的形状与 for 相同,这意味着我的消息被截断了。(对于的消息比对于的消息长)。有谁知道这可能是什么原因造成的?tooltiptextbox1textbox2textbox1tooltiptextbox2tooltiptextbox2textbox1textbox2

4

1 回答 1

1

我认为只有当IsBalloon属性为真时才会发生这种情况。不幸的是,已知的错误。

试试这样:

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 回答