没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
 
                
            转帖|其它|编辑:郝浩|2012-02-13 02:05:26.000|阅读 371 次
概述:本章节将演示文字处理控件TX Text Control如何在文档中添加超链接和锚点,以及如何响应超链接的单击操作。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
本章节将演示如何在文档中添加超链接和锚点,以及如何响应超链接的单击操作。
  本章节相应的源代码可以在TX Text Control.NET的安装目录中找到: 
    Samples\WinForms\VB.NET\ Hyperlinks 
    Samples\WinForms\CSharp\ Hyperlinks 
第一步:插入超链接
在这个示例程序中将在文档里插入一个超链接,并将该文档保存为HTML格式,便于在浏览器中显示。
  
为了在文档中插入超链接,首先需要创建一个HypertextLink的实例,创建实例时传入 ”Text Control Web Site” 和 ” ” 作为参数。 HypertextLink实例被插入到当前光标所在的位置,并被添加到HypertextLinks集合中。
1 [C#] 
2 private void cmdInsertHyperlink_Click(object sender, System.EventArgs e) 
3 { 
4     // Create a HypertextLink object 
5     TXTextControl.HypertextLink MyLink = 
6         new TXTextControl.HypertextLink( 
7         "Text Control Web Site", 
8         "//www.gcpowertools.com.cn"); 
9     // Insert the hyperlink into the document 
10     textControl1.HypertextLinks.Add(MyLink); 
11 }
需要注意的是上面的例子并没有处理Click事件,所以点击超链接时并没有跳转到指定的网页,而且超链接也没有蓝色下划线的字体样式。事件处理以及显示样式将在第二步中完成。
下面调用TextControl.Save方法来讲文档保存为HTML格式的文件:
1 [C#] 
2 private void cmdSaveAs_Click(object sender, System.EventArgs e) 
3 { 
4     textControl1.Save(TXTextControl.StreamType.HTMLFormat); 
5 }
使用浏览器打开刚才保存的HTML文件,可以看到刚才添加的超链接
  
第二步:为新建超链接添加对话框
在第二个示例程序中,添加了一个对话框,这样就可以更方便的创建超链接。除此之外,还可以对之前插入的超链接进行编辑和修改。需要注意的是,超链接通常是和 HTML文件相关联,不过超链接还可以保存在RTF、微软Word文件以及TX Text Control格式的文件中。
  
新添加的对话框包含两个文本框,第一个是设置超链接显示的文本信息,第二个用于设置超链接对应的链接地址。该对话框可用于创建超链接和编辑超链接,如果光标所在的位置是一个超链接则进行编辑操作,否则用于创建新的超链接。
1 [C#] 
2 private void mnuInsert_Hyperlink_Click(object sender, System.EventArgs e) 
3 { 
4     frmHyperlinks Hyperlinks = new frmHyperlinks(); 
5     Hyperlinks.tx = textControl1; 
6     Hyperlinks.ShowDialog(); 
7     HighlightHyperlinks (textControl1, mnuView_Hyperlinks.Checked); 
8 }
当该对话框加载时会根据当前输入位置来决定链接文本和链接地址中应该显示的信息:
1 [C#] 
2 private void frmHyperlinks_Load(object sender, System.EventArgs e) 
3 { 
4     TXTextControl.HypertextLink HyperLink = tx.HypertextLinks.GetItem(); 
5     if (HyperLink != null) 
6     { 
7         // If there is an existing hypertext link at the input position, 
8 // copy its text and target to the text boxes on the form. 
9         txtLinkedText.Text = HyperLink.Text; 
10         txtLinkTo.Text = HyperLink.Target; 
11     } 
12     else 
13     { 
14         // If there is no hypertext link at the input position, but 
15 // some text has been selected, then copy this text to the 
16 // Linked Text text box. 
17         if  (tx.Selection.Length > 0)  
18             txtLinkedText.Text = tx.Selection.Text; 
19     } 
20 }
用户修改链接文本和链接地址之后点击【OK】按钮,输入的信息将被更新到文档中:
1 [C#] 
2 private void cmdOK_Click(object sender, System.EventArgs e) 
3 { 
4     TXTextControl.HypertextLink HyperLink = tx.HypertextLinks.GetItem(); 
5     if (HyperLink == null) 
6     { 
7         // Insert a new link 
8         TXTextControl.HypertextLink NewLink = 
9             new TXTextControl.HypertextLink( 
10             txtLinkedText.Text , txtLinkTo.Text); 
11         tx.HypertextLinks.Add(NewLink); 
12     } 
13     else 
14     { 
15         // Update an existing link 
16         HyperLink.Text = txtLinkedText.Text; 
17         HyperLink.Target = txtLinkTo.Text; 
18     } 
19     Close(); 
20 }
最后,添加一个【View】菜单项用于设置超链接文字的格式,包括蓝色字体和下划线样式:
1 [C#] 
2 void HighlightHyperlinks(TXTextControl.TextControl tx, bool bHighlight) 
3 { 
4     int PreviousStart = tx.Selection.Start, 
5         PreviousLength = tx.Selection.Length;
6 
7     foreach (TXTextControl.HypertextLink Link in tx.HypertextLinks) 
8     { 
9         tx.Selection.Start = Link.Start-1; 
10         tx.Selection.Length = Link.Length; 
11         if (bHighlight) 
12         { 
13             tx.Selection.ForeColor = Color.Blue; 
14             tx.Selection.Underline = TXTextControl.FontUnderlineStyle.Single; 
15         } 
16         else 
17         { 
18             tx.Selection.ForeColor = Color.Black; 
19             tx.Selection.Underline = TXTextControl.FontUnderlineStyle.None; 
20         } 
21     } 
22     tx.Selection.Start = PreviousStart; 
23     tx.Selection.Length = PreviousLength; 
24 }
第三步:添加文档锚点
在第一和第二步中使用的链接地址都是外部资源,在该示例中讨论如何链接到文档中的某个位置。这些链接叫做文档链接,而这些被指定的位置叫做文档目标,文档目标在HTML编辑器中也被当做锚点、在字处理器中被当做书签来使用。
在运行示例程序时,在文档添加一些文本,然后再通过Insert / Target来添加一些文档目标。
     
通过Insert / Hypertext Link 菜单为这些文档目标添加链接,之前添加的文档目标的名字将被显示在链接位置的下拉框中。
      
 
插入目标
通过给DocumentTargets集合添加一个DocumentTarget对象的方式来添加文档目标。与链接不同的是,文档目标没有可见的文本,所以其构造函数只有一个参数。
1 [C#] 
2 TXTextControl.DocumentTarget Target = 
3     new TXTextControl.DocumentTarget(InsertTarget.TargetName);                                
4 textControl1.DocumentTargets.Add(Target);
为目标添加链接
需要对步骤二中使用的【Hypertext Link】对话框进行扩展,因为,链接目标不仅可以设置为URL,还可以设置为文档目标。将之前的【Link To】文本框替换为一个下拉框,下拉框中显示的DocumentTargets集合中的目标对象。
1 [C#] 
2 foreach (TXTextControl.DocumentTarget Target in tx.DocumentTargets) 
3     cboLinkTo.Items.Add("#" + Target.TargetName);
跳转到目标
当点击文档中的链接时,文本区域应该滚动的链接对应的目标所在的位置。该功能可以在DocumentLinkClicked事件中调用ScrollTo方法来实现:
1 [C#] 
2 private void textControl1_DocumentLinkClicked(object sender, 
3     TXTextControl.DocumentLinkEventArgs e) 
4 { 
5     e.DocumentLink.DocumentTarget.ScrollTo(); 
6 }
显示和编辑目标
TX Text Control可以通过显示一个标识来指明文档目标所在的位置。但是,如果目标不可见,怎样才能在文档中来定位这些目标呢?解决办法是使用一个列表框来显示文档中的全部目标对象,你可以跳转到指定的目标,或者将其删除。
  
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ldacury.cn
文章转载自:葡萄城控件技术团队博客



 
					接DevExpress原厂商通知,将于近日上调旗下产品授权价格,现在下单客户可享受优惠报价!
 
					面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
 
					本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
 
					本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
 相关产品
相关产品
	 TX Text Control .NET for WPF 分标准,专业,及企业三个版本,是一套专业的文字处理控件。
 最新文章 MORE
最新文章 MORE  
		
 靠谱朗驰娱乐体育相关的文章 MORE
靠谱朗驰娱乐体育相关的文章 MORE  
		
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ldacury.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
 
                 
            
 靠谱朗驰娱乐体育
靠谱朗驰娱乐体育  
					 
					 
					 
					 
					