TX Text Control文字处理教程(4)标记文本域

标记文本域是在文本中插入的一些标记,在文字处理器中可以通过标记文本来实现非常广泛的文字处理功能。例如:

  •         邮件合并
  •         电子表格中的计算域
  •         书签
  •         自动生成表格内容和索引
  •         超文本链接和锚点

标记文本域可以由任意字符组合而成,TX 中最多可以包含65535个标记文本域,TX会维护这些文本域的位置和编号信息,同时还可以进行加载、保存和剪贴板操作。
该章节相应的源代码可以在TX Text Control.NET的安装目录中找到:

  •         Samples\WinForms\VB.NET\ Printing
  •         Samples\WinForms\CSharp\ Printing

第一节:创建标记文本域
该节主要演示如何创建标记文本域和标记文本域的Click事件。示例程序中包含一个菜单项【Insert Field!】、两个Text Control控件,其中一个是普通文本编辑窗口,另一个是提示信息窗口。以下代码演示如何创建一个标记文本域:

private void mnuInsertField_Click(object sender, System.EventArgs e) {     TXTextControl.TextField newField = new TXTextControl.TextField();     newField.Text = "--------";     newField.ID = fieldID;     fieldID += 1;     textControl1.TextFields.Add(newField); }

通过以上代码在当前输入位置插入一个文本域,并且给文本域的ID属性设置一个位置的值。当鼠标移动至文本域时Text Control 会将光标变为手型光标,以此提示用户当前位置有一个文本域,此时点击文本域会触发TextFieldClicked事件,而且会弹出一个显示当前文本域编号的提示框。

private void textControl1_TextFieldClicked(object sender, TXTextControl.TextFieldEventArgs e) { // Field has been clicked on, update text of second TX and display it     textControl2.Text = "Field clicked, ID: " + e.TextField.ID;     textControl2.BringToFront(); } private void textControl1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) {     textControl1.BringToFront(); }

 

第二节:书签
该示例演示如何使用标记文本域来创建书签。首先我们将用文本域的编号来访问该文本域。示例程序中包含一个【Bookmar】菜单,包含两个子菜单项【Insert】和【Go to...】。点击【Insert】菜单时会在当前位置创建一个文本域;如果选择文本不为空会将选中的文本转换为标记文本域,代码如下:

private void mnuBookmark_Insert_Click(object sender, System.EventArgs e) { if (textControl1.Text == "")     {         MessageBox.Show("Cannot insert a bookmark if the Text Control is empty.");     } else if (textControl1.Selection.Length == 0)     {         textControl1.Selection.Length = 1;     } else     {         TXTextControl.TextField newField = new TXTextControl.TextField();         newField.ID = fieldID;         newField.Text = textControl1.Selection.Text;         textControl1.Selection.Text = "";         fieldID += 1;         textControl1.TextFields.Add(newField);     } }

在文档中输入一些文本并插入一些书签,然后选择【Go To...】菜单,此时会弹出一个对话框,可以在对话框中输入书签的编号,如果该书签存在点击【OK】按钮会自动跳转到书签所在的位置,实现代码如下:

private void cmdOK_Click(object sender, System.EventArgs e) { if (Convert.ToInt32(textBox1.Text) > tx.TextFields.Count)     {         MessageBox.Show ("Invalid bookmark number!");     } else     { foreach (TXTextControl.TextField field in tx.TextFields)         { if (field.ID == Convert.ToInt32(textBox1.Text))             {                 tx.Selection.Start = field.Start - 1;                 tx.Selection.Length = field.Length;             }         }     }     Close(); }

第三节:为书签指定名称
        在商业的文本编辑器中,不仅可以通过编号来访问书签,还可以通过书签名来访问。用户在创建书签时可以为书签指定名称。在【GoTo Bookmark】对话框中用户可以选择书签名称,然后跳转到该书签所在位置。
在创建书签时,用户需要为书签指定一个名称。实现代码如下:

private void cmdOK_Click(object sender, System.EventArgs e) {     TXTextControl.TextField field = new TXTextControl.TextField();

field.Name = textBox1.Text;     field.Text = tx.Selection.Text;     tx.Selection.Text = "";

tx.TextFields.Add(Field);     Close(); }

通过以上操作,我们创建了书签并指定了书签的名字。下面将在【Goto Bookmark】对话框中显示所有书签的名字,实现代码如下:

private void frmGotoDialog_Load(object sender, System.EventArgs e) { foreach (TXTextControl.TextField Field in tx.TextFields) {         ComboBox1.Items.Add(Field.Name);     } }

在用户选择书签之后点击【OK】按钮时,将通过遍历全部书签的方式找到用户指定的书签,实现代码如下:

private void cmdOK_Click(object sender, System.EventArgs e) { foreach (TXTextControl.TextField field in tx.TextFields)     { if (field.Name == comboBox1.Text)         {             tx.Selection.Start = field.Start - 1;             tx.Selection.Length = field.Length;         }     }     Close(); }

 

TX Text Control试用版下载

时间: 2024-09-16 01:07:40

TX Text Control文字处理教程(4)标记文本域的相关文章

TX Text Control文字处理教程(5)数据库操作

TX Text Control可以与任意数据库建立连接,并将进行格式化文本的存储.你可以将整个文档当做一条数据进行保存,同时也可以将文本从数据库中加载到一个单元格或者标记文本域中.一些典型的应用系统通常拥有以下功能,邮件合并.报表生成.格式化数据掩码输入,而且在商业应用系统中都是通过数据库中的信息来生成相应的文档. 本章将演示如何将Text Control中的内容以RTF格式的文本存储到数据库中.本章节相应的源代码可以在TX Text Control.NET的安装目录中找到: Samples\W

TX Text Control文字处理教程(12)MS Word中字段的导入导出操作

Text Control 中的域可以与MS Word中的域进行相互的导入和导出操作,Text Control中的ApplicationField类为获取/设置域的数据/参数提供了相应的公共接口.下面将结合MS Word中最常用的MERGEFIELD 和 FORMTEXTBOX功能来讲解域相关的操作. 相应的源代码可以在TX Text Control.NET的安装目录中找到:         Samples\WinForms\VB.NET\ ApplicationFields        

TX Text Control文字处理教程(10)创建报价单

该示例程序演示如何在办公系统中使用Text Control.办公系统的主要功能就是根据数据库中的数据来创建所需的文档.例如,根据地址信息数据库和商品信息数据库来创建一个订单.         示例程序分两步完成,第一步只包含从地址信息数据库中取的数据,第二步中才添加其它的功能. 本章节相应的源代码可以在TX Text Control.NET的安装目录中找到:         Samples\WinForms\VB.NET\ Quote Generator         Samples\Wi

TX Text Control文字处理教程(8)使用超链接

本章节将演示如何在文档中添加超链接和锚点,以及如何响应超链接的单击操作. 本章节相应的源代码可以在TX Text Control.NET的安装目录中找到:         Samples\WinForms\VB.NET\ Hyperlinks         Samples\WinForms\CSharp\ Hyperlinks 第一步:插入超链接         在这个示例程序中将在文档里插入一个超链接,并将该文档保存为HTML格式,便于在浏览器中显示.         为了在文档中插入超

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

本章主要演示如何使用 TX Text Control .NET 加载和保存文件. 该章节相应的源代码可以在TX Text Control.NET的安装目录中找到:         Samples\WinForms\VB.NET\ Files         Samples\WinForms\CSharp\ Files 第一节:使用集成对话框 打开和保存文件最便捷的方法就是调用Load和Save方法,而且无需传入任何参数.通过这种方法,只需一行代码就可以打开文件对话框,选择文件类型和文件之后就

TX Text Control文字处理教程(1)- 使用Visual Studio 2008开发产品

本章主要演示如何使用TX Text Control.NET 快速开发一个文字处理器. 该文字处理器实现了以下功能,打开和保存文件.剪贴板操作.文字和段落格式设置.标尺.状态栏以及键盘和鼠标操作. 该章节相应的源代码可以在TX Text Control.NET的安装目录中找到:         Samples\WinForms\VB.NET\Simple         Samples\WinForms\CSharp\Simple 该章节使用的到的控件如下:         TXTextCo

TX Text Control文字处理教程(9)XML文件

该章节主要介绍如何在Text Control中使用XML文件,包括如何打开XML文件,以及如何与CSS文件及DTD文件协同工作. 本章节相应的源代码可以在TX Text Control.NET的安装目录中找到:         Samples\WinForms\VB.NET\ XMLBasics         Samples\WinForms\CSharp\ XMLBasics (一)示例程序 示例程序中只有一个[Open File...]菜单项,源代码与其它Text Control程序并

TX Text Control文字处理教程(6)通过代码编辑和格式化文本

在许多应用系统中通过代码来编辑文本是一个必不可少的功能,例如:将多个小文件与数据库数据合并生成报表.电子购物时需要创建订单并作为HTML文件进行发送.使用Text Control,这些操作可以使用鼠标操作或者编码的方式很容易的实现. 本章节相应的源代码可以在TX Text Control.NET的安装目录中找到: Samples\WinForms\VB.NET\ Editing from code Samples\WinForms\CSharp\ Editing from code 第一节:选择

TX Text Control文字处理教程(7)邮件合并

邮件合并功能与之前的提到的将TX文档全部存入数据库有所不同,邮件合并功能是将数据库中特定字段插入到模板文档的特定位置.与此同时,本章节还会演示在邮件合并功能的基础上添加打印功能.以及如何创建邮件合并所需的模板文档. 本章节相应的源代码可以在TX Text Control.NET的安装目录中找到:         Samples\WinForms\VB.NET\MailMerge         Samples\WinForms\CSharp\MailMerge 第一步:合并数据库数据和文本