在纸质或者基于Web的调查问卷中经常会用到复选款,下面我们就来谈一下TX Text Control中如何插入和处理MS Word中的复选款。


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

 
textControl1.Selection.FontName = "Arial Unicode MS";

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

// 将 ApplicationField 添加到文档中
textControl1.ApplicationFields.Add(clsCheckBox.ApplicationField);
复制代码

当用户在域中触发单击事件时,先判断是否是FormCheckBox域,如果点击的是FormCheckBox,将改变FormCheckBox的选中状态,代码如下:

 
private void textControl1_TextFieldClicked(object sender,
                    TXTextControl.TextFieldEventArgs e)
{
    // cast the field to an ApplicationField
    ApplicationField field = e.TextField as ApplicationField;

    if (field != null)
    {
        // check whether the field is a checkbox field
        if ((field.TypeName == "FORMCHECKBOX"))
        {
            // create a new adapter field
            FormCheckBox chkb = new FormCheckBox(field);

            if (chkb.Enabled == false)
                return;

            // change the checked state
            if (field.Text == UNCHECKED)
            {
                chkb.Checked = true;
                chkb.Text = CHECKED;
            }
            else if (field.Text == CHECKED)
            {
                chkb.Checked = false;
                chkb.Text = UNCHECKED;
            }
        }
    }
}
复制代码

TX Text Control中的这些特殊类型的域域普通的文本域类型,可以像文本一样在文档中拖拽移动,TX Text Control中插入的复选框可以保存到DOCX、DOC和RTF格式的文档中。


源码:VS2010 + TX TextControl 17.0

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态