在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();
复制代码 下面是程序的运行截图:
png
源码下载:VS2010 + TX TextControl 17.0
tx_formfield_editor.zip
(19.74 KB, 下载次数: 447)
|
|