提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|其它|编辑:郝浩|2012-02-05 20:34:17.000|阅读 413 次
概述:标记文本域是在文本中插入的一些标记,在文字处理器中可以通过标记文本来实现非常广泛的文字处理功能。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
标记文本域是在文本中插入的一些标记,在文字处理器中可以通过标记文本来实现非常广泛的文字处理功能。例如:
标记文本域可以由任意字符组合而成,TX 中最多可以包含65535个标记文本域,TX会维护这些文本域的位置和编号信息,同时还可以进行加载、保存和剪贴板操作。
该章节相应的源代码可以在TX Text Control.NET的安装目录中找到:
第一节:创建标记文本域
该节主要演示如何创建标记文本域和标记文本域的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();
}
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:博客园面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
TX Text Control .NET for WPF 分标准,专业,及企业三个版本,是一套专业的文字处理控件。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢