如何隐藏 ScintillaNET 中的第一行?
How to hide the first line in ScintillaNET?
有了 ScintillaNET 控件,我可以隐藏第 2 行
scintilla.Text = "Line 1\r\nLine 2\r\nLine 3";
scintilla.HideLines(1,1);
或第 2 行和第 3 行
scintilla.Text = "Line 1\r\nLine 2\r\nLine 3";
scintilla.HideLines(1,2);
但没有任何内容会从第 1 行(索引 0)开始
scintilla.Text = "Line 1\r\nLine 2\r\nLine 3";
scintilla.HideLines(0,2);
如何在 ScintillaNET 中隐藏第一行文本?
我的文件格式的第 1 行是编辑器编写的,用户永远不能编辑,所以我希望它完全不显示。
我认为 HideLines
不是适合这项工作的工具,因为它是 Scintilla 的一部分 folding API. The styling API 可能更合适。
但是,我怀疑任何 API 本身 是否真的可以防止隐藏文本被用户编辑。例如,它需要额外的处理来阻止用户删除恰好包含隐藏部分的文本块(无论如何,折叠 APIs 确实如此)。
不过,对于您的特定情况,难道没有更简单的解决方案吗?为什么不在将文本加载到编辑器之前删除文本的第一行(并在保存之前将其添加回去)?
有了 ScintillaNET 控件,我可以隐藏第 2 行
scintilla.Text = "Line 1\r\nLine 2\r\nLine 3";
scintilla.HideLines(1,1);
或第 2 行和第 3 行
scintilla.Text = "Line 1\r\nLine 2\r\nLine 3";
scintilla.HideLines(1,2);
但没有任何内容会从第 1 行(索引 0)开始
scintilla.Text = "Line 1\r\nLine 2\r\nLine 3";
scintilla.HideLines(0,2);
如何在 ScintillaNET 中隐藏第一行文本?
我的文件格式的第 1 行是编辑器编写的,用户永远不能编辑,所以我希望它完全不显示。
我认为 HideLines
不是适合这项工作的工具,因为它是 Scintilla 的一部分 folding API. The styling API 可能更合适。
但是,我怀疑任何 API 本身 是否真的可以防止隐藏文本被用户编辑。例如,它需要额外的处理来阻止用户删除恰好包含隐藏部分的文本块(无论如何,折叠 APIs 确实如此)。
不过,对于您的特定情况,难道没有更简单的解决方案吗?为什么不在将文本加载到编辑器之前删除文本的第一行(并在保存之前将其添加回去)?