我有一系列textboxes
我希望将tooltip
与tooltip
相关联。当用户点击黑色textbox
时会显示此textbox
,然后当他们开始输入或离开tooltip
时消失。 textbox
应该放在ToolTip.Show
的正上方,这就是为什么我使用ToolTip.SetTooltip
方法而不是textbox
方法(它让我控制放置)。
到目前为止,对于每个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);
}
,我有3种方法; Enter,Leave和TextChanged:
textboxes
现在考虑两个textbox1
。点击tooltip
会在预期的位置按预期触发textbox1
,然后退出textbox2
会使其消失。在textbox1
上尝试同样的事情也有效。现在,如果我再次点击tooltip
,则textbox2
会显示正确的消息,但展示位置与我点击tooltip
的位置相同。不仅如此,textbox2
的形状与textbox1
的形状相同,这意味着我的消息会被截断。 (textbox2
的消息比{{1}}的消息长。有谁知道可能导致这种情况的原因?
答案 0 :(得分:1)
只有在IsBalloon
属性为真时才会发生这种情况。不幸的是,已知的bug。
试试这样:
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));
}
}