天天看点

TX Text Control文字处理教程(2)- 文件操作

该章节相应的源代码可以在TX Text Control.NET的安装目录中找到: 

       Samples\WinForms\VB.NET\ Files 

       Samples\WinForms\CSharp\ Files

<b>第一节:使用集成对话框</b> 

打开和保存文件最便捷的方法就是调用Load和Save方法,而且无需传入任何参数。通过这种方法,只需一行代码就可以打开文件对话框,选择文件类型和文件之后就可以在TextControl中显示文件的内容。 

<b>第二节:限定文件类型</b> 

缺省状态下Load和Save方法会显示所有Text Control支持的文件类型,如果你只希望显示特定的文件类型,你可以指定将被显示的文件类型参数,Text Control支持的文件类型可以通过StreamType取得。例如,只需要显示HTML和RTF类型的文件时,可以通过以下代码来实现: 

<b>第三节:显示文件名</b> 

在窗体上显示当前正在编辑文件的文件名是一个很好的用户体验,通常是访问OpenFileDialog.FileName属性来取得文件名,但此时OpenFileDialog是在Text Control内部调用的,所以无法直接取到FileName属性。下面的代码演示了再调用Load方法是如何通过LoadSettings来取得FileName属性:

[C#]  

private void mnuFile_OpenFile_Click(object sender, System.EventArgs e)  

{  

    TXTextControl.LoadSettings LoadSettings = new TXTextControl.LoadSettings();  

    textControl1.Load(TXTextControl.StreamType.All, LoadSettings);  

    this.Text = LoadSettings.LoadedFile;  

<b>第四节:保存文件</b> 

文字处理程序一般都有【Save...】和【Save As...】操作,如果该文件不是新创建的,那么可以直接通过【Save】方法将其保存为同样的文件名和文件类型。 

示例程序中定义了DocumentFileName 和 DocumentStreamType两个变量,用于保存当前文件的文件名和文件类型,当打开文件时会更新这两个变量的值。 

当点击【Save】时,如果DocumentFileName 和 DocumentStreamType有值就直接保存;如果是新建的文档将显示一个保存对话框:

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;  

<b>第五节:导出PDF和CSS文件</b> 

PDF和CSS格式需要特别注意,他们可以被保存,但是不能被在加载。比如你将文件保存为PDF文件,但是再次加载后不能像保存前那样进行编辑,CSS信息也不会被保存到文档中。解决这个问题最好的方法就是添加一个导出功能【Export...】,保存文件原始的格式信息。

private void mnuFile_Export_Click(object sender, System.EventArgs e)  

    textControl1.Save(TXTextControl.StreamType.AdobePDF);  

 本文转自 powertoolsteam 51CTO博客,原文链接:http://blog.51cto.com/powertoolsteam/769734,如需转载请自行联系原作者