如何获取 C# 中 Scintilla 组件的第一个可见(顶部)和最后一个可见(底部)行号?例如,如果我滚动文本,我可以看到第 5-41 行(没有折叠,它是组件当前显示的行数;其余的,您必须滚动到它们),如何我可以通过编程获取这些数字吗?
如果您想了解如何使用 Scintilla 做某事,您的第一站应该始终是核心Scintilla 文档。它很全面,并且通常保持完全最新。
执行您想要的操作的正确方法是使用SCI_GETFIRSTVISIBLELINE消息来获取第一行,然后使用SCI_LINESONSCREEN消息来计算最后一行。
这些消息可能有 Scintilla.NET 包装方法。但是Scintilla.NET 文档似乎很差,并且没有提供其 API 的完整描述 - 尽管我认为如果您无法猜测包装器是什么,您总是可以使用该SendMessageDirect方法(已记录)直接发送消息方法被调用。