本章主要讲述如何利用文本框控件来控制和操作文本。相应的源代码可以在TX Text Control.NET的安装目录中找到:
Samples\WinForms\VB.NET\ Text Frames
Samples\WinForms\CSharp\ Text Frames
第一步:插入文本框
插入文本框操作首先需要创建一个 TextFrame 的实例, 然后将其添加到 TextFrameCollection集合对象中。
[C#] TXTextControl.TextFrame newFrame = new TXTextControl.TextFrame(new Size(1000,1000)); textControl1.TextFrames.Add (newFrame, TXTextControl.HorizontalAlignment.Left, -1,TXTextControl.TextFrameInsertionMode.DisplaceText);
插入文本框之后,可以通过单击它的边框来选择该文本框,然后通过鼠标拖动它的边框来移动或者改变其大小。Text Control 还提供了一个内置的集成对话框,可以通过它来设置文本框的外观属性,在代码中可以通过TextFrameAttributesDialog来显示该对话框:
[C#] textControl1.TextFrameAttributesDialog();
在示例程序中,调用该对话框的代码是单击菜单项来调用的,而对于的菜单项是否可用需要以下代码来控制:
[C#] mnuTextFrame_Properties.Enabled = (textControl1.TextFrames.GetItem() != null);
第二步:标签打印机
下面演示如何快速插入多个文本框,程序中结合标签打印来说明这样操作,标签打印常用于地址或者徽章标签打印,程序的源代码可以在TextFrames\Printing Address Lables目录下找到。
示例程序中包含一个对话框,用户可以在对话框中输入标签的相关信息,比如:数量、大小等。
依照以上对话框中的设置可以创建相应的文本框。
以上创建的文本框可以通过手动输入、从文件或者数据库中取值的方式来添加相应的文本信息。示例程序中当点击Fill菜单时,程序会根据文本框的域标识来填充相应“Address no.”文本。为了演示从文件中加载文本信息,需要用Selection.Load来代替Selection.Text属性:
[C#] private void mnuLabel_FillIn_Click(object sender, System.EventArgs e) { int n = 0; foreach (TXTextControl.TextFrame frame in textControl1.TextFrames) { frame.Selection.Text = "Text Frame #" + Convert.ToString(n++); } }