找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证

超级版主

299

主题

7874

帖子

1万

积分

超级版主

Rank: 8Rank: 8

积分
13131

活字格认证圣诞拼拼乐微信认证勋章讲师达人元老葡萄悬赏达人

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-5-9 10:54  /   查看:6177  /  回复:0
在纸质或者基于Web的调查问卷中经常会用到复选款,下面我们就来谈一下TX Text Control中如何插入和处理MS Word中的复选款。

png

png


TX Text Control 通过ApplicationField类型来对MS Word中的复选款提供支持。本文的示例代码中还会用到一个DocumentServer命名控件中的FieldAdapter类,该类型提供了对最常用域类型的适配功能,比如DATE、MERGEFIELD和FORMCHECKBOX。下面的代码演示了如何在TX Text Control中插入一个复选框域:
  1. textControl1.Selection.FontName = "Arial Unicode MS";

  2. // 通过特殊的适配器类型创建一个复选框
  3. FormCheckBox clsCheckBox = new
  4.     TXTextControl.DocumentServer.Fields.FormCheckBox();
  5. clsCheckBox.Text = UNCHECKED;
  6. clsCheckBox.Enabled = true;
  7. clsCheckBox.ApplicationField.Editable = false;
  8. clsCheckBox.ApplicationField.DoubledInputPosition = true;

  9. // 将 ApplicationField 添加到文档中
  10. textControl1.ApplicationFields.Add(clsCheckBox.ApplicationField);
复制代码
当用户在域中触发单击事件时,先判断是否是FormCheckBox域,如果点击的是FormCheckBox,将改变FormCheckBox的选中状态,代码如下:
  1. private void textControl1_TextFieldClicked(object sender,
  2.                     TXTextControl.TextFieldEventArgs e)
  3. {
  4.     // cast the field to an ApplicationField
  5.     ApplicationField field = e.TextField as ApplicationField;

  6.     if (field != null)
  7.     {
  8.         // check whether the field is a checkbox field
  9.         if ((field.TypeName == "FORMCHECKBOX"))
  10.         {
  11.             // create a new adapter field
  12.             FormCheckBox chkb = new FormCheckBox(field);

  13.             if (chkb.Enabled == false)
  14.                 return;

  15.             // change the checked state
  16.             if (field.Text == UNCHECKED)
  17.             {
  18.                 chkb.Checked = true;
  19.                 chkb.Text = CHECKED;
  20.             }
  21.             else if (field.Text == CHECKED)
  22.             {
  23.                 chkb.Checked = false;
  24.                 chkb.Text = UNCHECKED;
  25.             }
  26.         }
  27.     }
  28. }
复制代码
TX Text Control中的这些特殊类型的域域普通的文本域类型,可以像文本一样在文档中拖拽移动,TX Text Control中插入的复选框可以保存到DOCX、DOC和RTF格式的文档中。


源码:VS2010 + TX TextControl 17.0
tx_checkbox_sample.zip (17.27 KB, 下载次数: 570)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部