Scinillanet,如何将其文本保存到文件中?
Posted
技术标签:
【中文标题】Scinillanet,如何将其文本保存到文件中?【英文标题】:Scintillanet, how to save its text to a file? 【发布时间】:2016-04-21 22:15:49 【问题描述】:我正在使用 Visual Studio 在 C# 中编写代码编辑器,并在我的程序中使用 scintillaNET 作为文本编辑器,现在我希望用户能够将文本从编辑器保存到文件中。如果我使用 RichTextBox,保存文件的代码是:
richTextBox.SaveFile(saveFile1.FileName, RichTextBoxStreamType.RichText);
现在我为我的 scintilla 编辑器尝试了它:
scintilla.SaveFile(saveFile1.FileName, RichTextBoxStreamType.RichText);
但我收到错误:ScintillaNet.Scintilla 不包含 SaveFile 的定义并且没有扩展方法 SaveFile"...
将文本从 Scintilla 编辑器保存到文件的适当代码/方法是什么。有人可以告诉我吗? 谢谢
【问题讨论】:
没有内置方法,我不确定你为什么需要一个 - scintilla 不是富文本编辑器。 它不是richtextbox,所以你不能指望它和richtextbox有同样的方法。检查 scintillia 文档。 【参考方案1】:我试图用 ScintillaNET 做同样的事情并找到了一种方法。
public void SaveToFile(string filename)
File.WriteAllText(filename,"");
using(StreamWriter strwriter = System.IO.File.AppendText(filename))
strwriter.Write(this.TextArea.Text);
【讨论】:
是的,您的使用权会自动处理它。我会更新我的代码 很好的解决方案...完美运行。但是,并不是真正的 ScintillaNET 解决方案。【参考方案2】:ScintillaNet 控件没有一种“Save-Text-Contents-To-File”方法...
相反,您必须使用此属性获取文本内容:
ScintillaNET.Scintilla.Text
然后,您可以使用 .NET System.IO.File.WriteAllText() 方法或等效方法将其保存到磁盘文件:
System.IO.File.WriteAllText(@"c:\path\filename.txt", YourScintillaControlName.Text);
【讨论】:
以上是关于Scinillanet,如何将其文本保存到文件中?的主要内容,如果未能解决你的问题,请参考以下文章