C# 智能感知的定位
如何定位上下文提示?大概是这样的: 下面是使用此代码的文本:C# 智能感知的定位,c#,visual-studio,C#,Visual Studio,如何定位上下文提示?大概是这样的: 下面是使用此代码的文本: Point point = this.rtb.GetPositionFromCharIndex(rtb.SelectionStart); this.lb.Location = point; 注意:上面的代码输出是上下文提示,或者IntelliSense将位于rtb中键入的文本旁边。不在下面,因为我在选择开始中设置了它,但我只想添加像“+”\n”这样的内容,以便将它放在下面。在这里,将它放在RichTextBox的K
Point point = this.rtb.GetPositionFromCharIndex(rtb.SelectionStart);
this.lb.Location = point;
注意:上面的代码输出是上下文提示,或者IntelliSense将位于rtb中键入的文本旁边。不在下面,因为我在选择开始中设置了它,但我只想添加像“+”\n”这样的内容,以便将它放在下面。在这里,将它放在
RichTextBox的KeyUp
事件中:
using (Graphics g = this.rtb.CreateGraphics()) {
point.Y += (int)g.MeasureString("A", rtb.Font).Height + 10; // the 10 is padding
}
this.lb.Location = point;
这将测量字体的高度,以计算字体移动的距离。。然后添加10作为填充
你可能需要一些额外的逻辑来处理更大的字体。它在下面,先生,但是当我在rtb中键入更多的单词时,它会储存在一个位置,不会移动…你应该把它放在RichTextBox
的KeyUp
事件中,这样它在每次按键后都会更新…我会上传当前输出的屏幕截图,先生,可以吗自动的打字的时候?当我使用按键up时,我看到它起作用了,但当它只是内部文本更改时,我就不起作用了。没问题。此外,您可能希望保存字体的度量值,以便在用户每次按键时不会创建新的图形对象。