mindrayguowei 发表于 2016-2-26 13:34:00

MergeField类型如何改变字体和颜色

业务逻辑是这样的, TX模板里面要加一个标记, 名字叫"临时报告".要求在模板里面设置好字体和颜色, 然后在代码里面, 这个标记必须可以被识别, 根据逻辑显示或者隐藏这个标记.

那么我现在有两种做法
1.插入一个 MergeField类型的控件, 在程序里面被识别到, 设置Text为"临时报告", 并且设置字体和颜色. 可以控制显示/隐藏(我不推荐这种做法)
2在模板上写上"临时报告"的文本, 设置好字体和颜色,那么现在的问题就是如何识别这个标记并设置显示隐藏.(推荐这种做法)

gw0506 发表于 2016-2-26 15:28:00

我觉得第一个就听,为什么不推荐呢?

第二个如果就是个text,那你确实没法设置显示和隐藏。在代码里也不好操作,你必须用selection去找它。

mindrayguowei 发表于 2016-2-29 09:21:00

如果第二种方式不行, 第一种方式也可以的.
那么问题就是, 如何给MergeField设置字体和颜色?

gw0506 发表于 2016-2-29 12:34:00

用TextField就可以。
      private TextField _newField = new TextField("临时报告");
      
      private void button1_Click(object sender, EventArgs e)
      {
            

            textControl1.TextFields.Add(_newField);

            this.textControl1.Selection.Start = _newField.Start - 1;
            this.textControl1.Selection.Length = _newField.Text.Length;

            this.textControl1.Selection.ForeColor = Color.Red;

      }

      private void button2_Click(object sender, EventArgs e)
      {
            textControl1.TextFields.Remove(_newField);
      }

mindrayguowei 发表于 2016-2-29 15:50:00

问题解决了, 还是用MergeField了, 不过用楼上设置颜色的方法

gw0506 发表于 2016-2-29 18:20:00

啊,那太好了。解决了就好。
页: [1]
查看完整版本: MergeField类型如何改变字体和颜色