找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-5-9 11:12  /   查看:8500  /  回复:9
在TX Text Control控件中可以通过ApplicationField类来处理MS Word中的表单域,域的类型、名称和参数都可以非常方便的修改,不过在TX Text Control中不会显示出CheckBox或DropDownList这样的控件。
不过TX Text Control 提供了对这些输入表单域的扩展能力,在TX Text Control的DocumentServer中包含了FieldAdapter类型,通过这些域适配器类型,我们可以非常方便的处理MS Word中的表单域和合并域类型。
在TX Text Control中一个域总显示为一段文本,比如DropDownList域会显示当前选择项的文本,同时TX Text Control也将DropDownList中其它项存储在该域中。用户单击该域时会触发TextFieldClicked事件,此时就可以在该域所在的位置显示一个.NET的标准ComboBox控件。下面的代码演示了如何使用FieldAdapter来修改特定FormDropDownList域的值。
  1. FormDropDown fddField = new FormDropDown(ApplicationField);

  2. // create a new System.Windows.Forms.ComboBox and add the
  3. // FormDropDown's items
  4. ComboBox cb = new ComboBox();

  5. cb.Items.AddRange(fddField.ListEntries.ToArray());

  6. Point cbLocation = new Point((fddField.ApplicationField.Bounds.Location.X -
  7.                              textControl1.ScrollLocation.X) / dpiX,
  8.                              (fddField.ApplicationField.Bounds.Location.Y -
  9.                              textControl1.ScrollLocation.Y) / dpiX);

  10. cb.Location = cbLocation;
  11. cb.Tag = fddField;
  12. cb.SelectedText = fddField.ApplicationField.Text;
  13. cb.SelectedIndexChanged += new EventHandler(cb_SelectedIndexChanged);
  14. cb.LostFocus += new EventHandler(cb_LostFocus);
  15. textControl1.Controls.Add(cb);
  16. cb.Focus();
复制代码
下面是程序的运行截图:

png

png


源码下载:VS2010 + TX TextControl 17.0
tx_formfield_editor.zip (19.74 KB, 下载次数: 447)

9 个回复

倒序浏览
babyface
论坛元老   /  发表于:2013-8-25 15:09:00
沙发
版主 相应的dll文件哪里下载啊?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-8-26 10:31:00
板凳
回复 2楼babyface的帖子

babyface

你指的DLL是什么DLL呢,以上示例中使用的DLL你安装TX TextControl for .NET 之后就会自动添加。
回复 使用道具 举报
babyface
论坛元老   /  发表于:2013-8-28 17:00:00
地板
回复 3楼dof的帖子

版主 是不是TX Text Control.NET for Windows Forms 19.0 Trial没有相应的DLL 必须是For .NET?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-8-28 17:27:00
5#
回复 4楼babyface的帖子

抱歉,我还是不太理解你的问题,能详细描述一下你为什么要找DLL吗

将TX控件添加到窗体上时,就会自动添加相应的DLL引用,不需要手动添加DLL引用,在TX试用版和正式版中都是这样的行为

同时,TX的默认安装路径为C:\Program Files\Text Control GmbH\TX Text Control 19.0.NET for Windows Forms\Assembly

该路径下的Dll会添加到GAC中,C:\Windows\assembly
回复 使用道具 举报
babyface
论坛元老   /  发表于:2013-8-28 17:33:00
6#
回复 5楼dof的帖子

版主 我在处理你精华贴中关于添加chexkbox的例子时,
   DateField dField = new DateField();
中的DateField 一直说缺少引用 为什么?
回复 使用道具 举报
babyface
论坛元老   /  发表于:2013-8-28 17:35:00
7#
回复 1楼dof的帖子

再补充一下 就是TXTextControl.DocumentServer一直没有DocumentServer这个东西 就是我直接引用你给的 demo中的那些dll也不行
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-8-28 18:06:00
8#
DocumentServer 不支持Client Profile 类型的Framework,点击工程,在属性中的应用程序中修改目标框架为 .NET Framework 4,此时在VS工具箱中的TX分类项会显示MailMerge、DocumentController、ServerTextControl,添加这些控件会自动添加TXDocumentServer dll.
回复 使用道具 举报
babyface
论坛元老   /  发表于:2013-8-28 21:37:00
9#
回复 8楼dof的帖子

版主 我对你的佩服之情犹如滔滔的江水一发而不可收拾
OK 解决了
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-8-29 09:36:00
10#
回复 9楼babyface的帖子

客气了,再给你分析一个好消息:葡萄城控件案例大赛,万元奖金等你拿
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部