【问题标题】:Scintillanet, how to save its text to a file?Scinillanet,如何将其文本保存到文件中?
【发布时间】: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 文档。

标签: c# .net textbox savefiledialog scintilla


【解决方案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);

【讨论】:

    猜你喜欢
    • 2021-11-18
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 2011-09-07
    • 2018-02-11
    • 2012-09-27
    相关资源
    最近更新 更多