ZenosZeng 发表于 2012-5-9 11:12:00

TX Text Control 邮件合并(十一)CheckBoxs、DropDownLists和DatePickers

在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域的值。FormDropDown fddField = new FormDropDown(ApplicationField);

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

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

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

cb.Location = cbLocation;
cb.Tag = fddField;
cb.SelectedText = fddField.ApplicationField.Text;
cb.SelectedIndexChanged += new EventHandler(cb_SelectedIndexChanged);
cb.LostFocus += new EventHandler(cb_LostFocus);
textControl1.Controls.Add(cb);
cb.Focus();
下面是程序的运行截图:


源码下载:VS2010 + TX TextControl 17.0

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

回复 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

回复 5楼dof的帖子

版主 我在处理你精华贴中关于添加chexkbox的例子时,
   DateField dField = new DateField();
中的DateField 一直说缺少引用 为什么?

babyface 发表于 2013-8-28 17:35:00

回复 1楼dof的帖子

再补充一下 就是TXTextControl.DocumentServer一直没有DocumentServer这个东西 就是我直接引用你给的 demo中的那些dll也不行

ZenosZeng 发表于 2013-8-28 18:06:00

DocumentServer 不支持Client Profile 类型的Framework,点击工程,在属性中的应用程序中修改目标框架为 .NET Framework 4,此时在VS工具箱中的TX分类项会显示MailMerge、DocumentController、ServerTextControl,添加这些控件会自动添加TXDocumentServer dll.

babyface 发表于 2013-8-28 21:37:00

回复 8楼dof的帖子

版主 我对你的佩服之情犹如滔滔的江水一发而不可收拾
OK 解决了:hjyzw:

ZenosZeng 发表于 2013-8-29 09:36:00

回复 9楼babyface的帖子

客气了,再给你分析一个好消息:葡萄城控件案例大赛,万元奖金等你拿
页: [1]
查看完整版本: TX Text Control 邮件合并(十一)CheckBoxs、DropDownLists和DatePickers