0

我正在尝试在 C# 上创建一个新应用程序,作为其中的一部分,我想知道富文本控件框上的插入符号位置(控件内的确切点)。

我将解释它:假设我有一个 win 表单、富文本控件框和一个 contextmenustrip。当我在文本框上键入特定的字符或字符串时,我想弹出这个上下文菜单项。

出于这个原因,我想知道该文本框中插入符号的确切位置。

作为谷歌搜索+ SO文章的结果,我找到了一种方法GetCaretPos(),但我无法使用它。

我用richtextbox get 函数做了一些事情。一种是以下:

Point k= richTextBox1.GetPositionFromCharIndex((richTextBox1.Lines[richTextBox1.GetLineFromCharIndex(richTextBox1.GetFirstCharIndexOfCurrentLine())].Count() + 1));

我不知道这是否准确,但有时我会得到正确的值。

我该如何解决这个问题?

4

1 回答 1

1

这是查看上下文菜单出现位置的快速方法。只要确保您订阅了该活动。

  private void richTextBox1_SelectionChanged(object sender, EventArgs e)
  {
     Point point = richTextBox1.GetPositionFromCharIndex(richTextBox1.SelectionStart);
     Text = point.ToString ();// Write to window title for fun
     new ContextMenu(new MenuItem[] {new MenuItem("test")}).Show (richTextBox1, point);
  }
于 2011-07-15T07:02:10.457 回答