我正在尝试在c#上创建一个新的应用程序,作为其中的一部分,我想知道富文本控件框上的插入位置[控件中的确切点]。
我将解释它,ASSUME:我有一个win form,富文本控制框和一个contextmenustrip。
当我在文本框中键入特定的charector或字符串时,我想弹出这个contextmenu项。
为此我想知道该文本框上的插入符号的确切位置。
由于谷歌搜索+ sof文章我找到了通过GetCaretPos,
的方法但我无法使用它。
我使用richtextbox get函数做了一些事情,其中一个是跟随。
Point k= richTextBox1.GetPositionFromCharIndex((richTextBox1.Lines[richTextBox1.GetLineFromCharIndex(richTextBox1.GetFirstCharIndexOfCurrentLine())].Count() + 1));
我不知道这是确切的要点,但有时候我得到了正确的值。
我如何解决问题?
我购买了一些SOF帖子,但我不能解决我的问题,所以为什么再说一些细节,请不要把它作为转贴。
谢谢。
答案 0 :(得分: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);
}