1

我在 C#、Windows 窗体应用程序中工作,并且在获取带有大量文本的 RichTextBox 的滚动位置时遇到问题。

我正在使用这段代码:

  public class POINT
    {
        public  int x;
        public int y;

        public POINT()
        {
        }

        public POINT(int x, int y)
        {
            this.x = x;
            this.y = y;
        }
    }

SendMessage(this.Handle, EM_GETSCROLLPOS, 0, res)

但是,当控件包含大量文本时,产生的 y 偏移是不正确的,因为 Y 的高 16 位始终为 0。

有没有办法让滚动位置大于 16 位?

4

1 回答 1

0

我认为是时候把这个问题变成答案了

GetPositionFromCharIndex(0)

检索控件内指定字符索引处的位置

这将获得相对于控件的字符的偏移量

于 2015-04-19T02:05:37.433 回答