我正在使用Scintilla .NET文本编辑器控件(ScintillaNet.dll)来显示SQL。我使用以下命令将插入符号光标定位在给定的行号。在下面的示例中,我将插入符号光标定位在第102行(基于0。网格显示从1开始的行号。)
scintilla1.GoTo.Line(102); //0 based
我希望视口中的文字显示在屏幕顶部,如下图所示,作为第一条可见线
请帮我确定一下如何做到这一点?
更新:
这看起来很有希望..
scintilla1.Lines.FirstVisible.Number = targetLineNumber;
但是在执行之后,scintilla1.Lines.FirstVisible.Number并不总是等于targetLineNumber而且我不知道干扰它的是什么。在targetLineNumber行之后有数百行。
答案 0 :(得分:1)
获取/设置第一条可见行对我有用https://www.scintilla.org/ScintillaDoc.html#SCI_SETFIRSTVISIBLELINE
可以先保持光标位置(SCI_GOTOPOS)再设置第一条可见线