Scintilla .NET编辑器。将光标定位在第一条可见线

时间:2015-07-21 20:59:52

标签: c# .net scintilla

我正在使用Scintilla .NET文本编辑器控件(ScintillaNet.dll)来显示SQL。我使用以下命令将插入符号光标定位在给定的行号。在下面的示例中,我将插入符号光标定位在第102行(基于0。网格显示从1开始的行号。)

scintilla1.GoTo.Line(102); //0 based

What I get

我希望视口中的文字显示在屏幕顶部,如下图所示,作为第一条可见线

What I want

请帮我确定一下如何做到这一点?

更新:

这看起来很有希望..

scintilla1.Lines.FirstVisible.Number = targetLineNumber;

但是在执行之后,scintilla1.Lines.FirstVisible.Number并不总是等于targetLineNumber而且我不知道干扰它的是什么。在targetLineNumber行之后有数百行。

1 个答案:

答案 0 :(得分:1)

获取/设置第一条可见行对我有用https://www.scintilla.org/ScintillaDoc.html#SCI_SETFIRSTVISIBLELINE

可以先保持光标位置(SCI_GOTOPOS)再设置第一条可见线