本章主要演示如何使用 TX Text Control .NET 加载和保存文件。
该章节相应的源代码可以在TX Text Control.NET的安装目录中找到:
Samples\WinForms\VB.NET\ Files
Samples\WinForms\CSharp\ Files
第一节:使用集成对话框
打开和保存文件最便捷的方法就是调用Load和Save方法,而且无需传入任何参数。通过这种方法,只需一行代码就可以打开文件对话框,选择文件类型和文件之后就可以在TextControl中显示文件的内容。
第二节:限定文件类型
缺省状态下Load和Save方法会显示所有Text Control支持的文件类型,如果你只希望显示特定的文件类型,你可以指定将被显示的文件类型参数,Text Control支持的文件类型可以通过StreamType取得。例如,只需要显示HTML和RTF类型的文件时,可以通过以下代码来实现:
第三节:显示文件名
在窗体上显示当前正在编辑文件的文件名是一个很好的用户体验,通常是访问OpenFileDialog.FileName属性来取得文件名,但此时OpenFileDialog是在Text Control内部调用的,所以无法直接取到FileName属性。下面的代码演示了再调用Load方法是如何通过LoadSettings来取得FileName属性:
1 [C#] 2 private void mnuFile_OpenFile_Click(object sender, System.EventArgs e) 3 { 4 TXTextControl.LoadSettings LoadSettings = new TXTextControl.LoadSettings(); 5 textControl1.Load(TXTextControl.StreamType.All, LoadSettings); 6 this.Text = LoadSettings.LoadedFile; 7 }
第四节:保存文件
文字处理程序一般都有【Save...】和【Save As...】操作,如果该文件不是新创建的,那么可以直接通过【Save】方法将其保存为同样的文件名和文件类型。
示例程序中定义了DocumentFileName 和 DocumentStreamType两个变量,用于保存当前文件的文件名和文件类型,当打开文件时会更新这两个变量的值。
当点击【Save】时,如果DocumentFileName 和 DocumentStreamType有值就直接保存;如果是新建的文档将显示一个保存对话框:
[C#] private void mnuFile_Save_Click(object sender, System.EventArgs e) { TXTextControl.SaveSettings SaveSettings = new TXTextControl.SaveSettings(); if (DocumentFileName != "" ) { // save under same name and type textControl1.Save(DocumentFileName, DocumentStreamType); } else { // save as.. textControl1.Save(TXTextControl.StreamType.All, SaveSettings); DocumentFileName = SaveSettings.SavedFile; DocumentStreamType = SaveSettings.SavedStreamType; } }
第五节:导出PDF和CSS文件
PDF和CSS格式需要特别注意,他们可以被保存,但是不能被在加载。比如你将文件保存为PDF文件,但是再次加载后不能像保存前那样进行编辑,CSS信息也不会被保存到文档中。解决这个问题最好的方法就是添加一个导出功能【Export...】,保存文件原始的格式信息。
[C#] private void mnuFile_Export_Click(object sender, System.EventArgs e) { textControl1.Save(TXTextControl.StreamType.AdobePDF); }