1

如何定位上下文提示?像这样的东西:

http://i.stack.imgur.com/iFuaq.png

使用此代码的文本下方:

Point point = this.rtb.GetPositionFromCharIndex(rtb.SelectionStart);
        this.lb.Location = point;

注意上面的代码输出是上下文提示,否则 Intelliense 将在 rtb 中键入的文本旁边。不在下方,因为我是在选择开始时进行的,但我只想添加 + "\n" 之类的内容,以便将其放在下方。

4

1 回答 1

0

给你,把它放在以下KeyUp事件中RichTextBox

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 用于填充。

不过,对于更大的字体,您可能需要一些额外的逻辑。

于 2013-04-12T03:04:44.950 回答