在MSDN中,Top属性的定义如下:
获取文本渲染坐标系中此行的上边缘的位置。
我的定义有点不清楚。当我检查Visual Studio编辑器中TextView的Top属性返回的值时,它是否定的。
如何解读" Top"价值?是否有一个参考点来自" TOP"是否为每一行计算了属性值?
答案 0 :(得分:2)
ITextViewLine.Top
是相对于ITextView.ViewportTop
的位置。后者的documentation提示它可能是否定的:
该值可以是正数也可以是负数。仅在部分更改视口布局时,ViewportTop会增加或减少视图滚动的向上或向下像素数。当视口布局完全更改(以便更改先前布局的所有行)时,ViewportTop将重置为0.0。
基本上,你应该考虑到所有行都是其中一部分的抽象坐标系。在编辑器中滚动只是在该坐标系内移动视口。一些操作(比如在文件的开头插入一个新行),而不是"移动"所有的线条,只需在顶部插入另一条带有负顶部的线条,然后视口向上移动到那条线。
答案 1 :(得分:0)
获取文本行的文本行上边缘的位置。