如何检测TextBox中的特殊符号?

时间:2014-02-18 14:08:07

标签: c# winforms

我需要在TextBox中显示一系列带有一些特殊符号的数字,当鼠标悬停在它们上面时,可以显示更多信息。

例如,我把TextBox放在这样的东西:

  

价值:45 *,35,21 21,34

当用户将鼠标移到“*”符号上时,会出现一个带有一些文字的小窗口。

这可能吗?我有点困惑如何制作这个...实际上,像文本中的超链接这样的东西也许也有帮助。

1 个答案:

答案 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);
  }
}