我需要在TextBox中显示一系列带有一些特殊符号的数字,当鼠标悬停在它们上面时,可以显示更多信息。
例如,我把TextBox放在这样的东西:
价值:45 *,35,21 21,34
当用户将鼠标移到“*”符号上时,会出现一个带有一些文字的小窗口。
这可能吗?我有点困惑如何制作这个...实际上,像文本中的超链接这样的东西也许也有帮助。
答案 0 :(得分:2)
您可以使用GetCharFromPosition函数来确定鼠标所在的字符:
ToolTip tt = new ToolTip();
Char lastChar = ' ';
void textBox1_MouseMove(object sender, MouseEventArgs e) {
char c = textBox1.GetCharFromPosition(e.Location);
if (c.Equals('*')) {
if (!c.Equals(lastChar)) {
lastChar = c;
tt.Show("This is something special", this.textBox1,
new Point(e.Location.X + 20, e.Location.Y + 20),
2000);
}
} else {
lastChar = ' ';
tt.Hide(this.textBox1);
}
}