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

例如,我在TextBox中放入如下内容:


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


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

这可能吗?我对此有点困惑……事实上,文本中的超链接之类的东西也可能会有所帮助。

最佳答案

您可以使用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);
  }
}

关于c# - 如何在文本框中检测特殊符号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21856267/

10-11 20:36