C# “什么是”呢;ITextViewLine.Top“;财产?
在MSDN中,Top属性的定义如下:C# “什么是”呢;ITextViewLine.Top“;财产?,c#,visual-studio-2010,editor,visual-studio-extensions,C#,Visual Studio 2010,Editor,Visual Studio Extensions,在MSDN中,Top属性的定义如下: 获取此行的上边缘在文本渲染坐标系中的位置 定义对我来说有点不清楚。当我在VisualStudio编辑器中检查TextView的Top属性返回的值时,它是负数 如何解释“顶部”值?是否有一个参考点,从该点计算每行的“TOP”属性值?获取文本已呈现的文本行的上边缘位置。ITextViewLine.TOP是相对于ITextView.ViewportTop的位置。对于后一种情况,当其可能为负值时,将显示以下提示: 该值可以是正值或负值。当视口布局仅部分更改时,Vie
获取此行的上边缘在文本渲染坐标系中的位置 定义对我来说有点不清楚。当我在VisualStudio编辑器中检查TextView的Top属性返回的值时,它是负数
如何解释“顶部”值?是否有一个参考点,从该点计算每行的“TOP”属性值?获取文本已呈现的文本行的上边缘位置。
ITextViewLine.TOP
是相对于ITextView.ViewportTop
的位置。对于后一种情况,当其可能为负值时,将显示以下提示:
该值可以是正值或负值。当视口布局仅部分更改时,ViewportTop将根据视图已滚动的上下像素数增加或减少。当视口布局完全更改时(如更改了以前布局的所有行),ViewportTop将重置为0.0。
基本上,你应该考虑到有一个抽象的坐标系,所有的线条都是其中的一部分。在编辑器中滚动只是在该坐标系内移动视口。有些操作(如在文件开头插入新行)不是“移动”所有行,而是在顶部插入另一行,顶部为负数,视口将向上移动到负数。那么如何输入数字?有时,文本行对应于编辑器中第一个完全可见的行,也有-值?嗯,然后我估计参考点在文本线以南的某个地方,因此你得到了一个否定的结果。你知道如何将最高值和坐标系联系起来吗?比如说,在左上角的零?我浏览了关于这一点的很少的文档,最后我只是比开始时更困惑。我最好的猜测是“Top”值对应于y坐标值。是的,我认为它是y坐标,但我无法找到如何找到原点或原点(0,0)在哪里?谢谢你的解决方案:)