mindrayguowei 发表于 2015-8-14 16:39:00

MergeField在程序里替换成内容后如何自动插入文字?

模版里面有一个MergeField,

通过某一次鼠标双击事件把第一段文字显示在界面上。
现在把光标移动到这段文字的中间某个位置,再通过鼠标双击插入第二段文字到光标所在位置,该怎么做?

目前的代码只能在第一段文字的结尾追加第二段文字。

public void SetFieldValue(string fieldName, string result, bool append = true)
      {
            foreach (TXTextControl.IFormattedText textPart in _textControl.TextParts)
            {
                foreach (TXTextControl.ApplicationField appField in textPart.ApplicationFields)
                {
                  if (appField.Parameters.Length > 0 && appField.Parameters.ToLower() == fieldName.ToLower())
                  {
                        appField.Text += result;
                        return;
                  }
                }
            }
      }

iceman 发表于 2015-8-17 14:17:00

回复 1楼mindrayguowei的帖子

需要通过 Selection.Load 方法进行加载,我使用 TextField 做了个demo,请测试:

      private void Form1_Load(object sender, EventArgs e)
      {
            TextField mf = new TextField();
            mf.Text = "test";

            this.textControl1.TextFields.Add(mf);

            this.textControl1.TextFieldClicked += textControl1_TextFieldClicked;
      }

      void textControl1_TextFieldClicked(object sender, TextFieldEventArgs e)
      {
            string filename = "..\\..\\1.txt";
            this.textControl1.Selection.Load(filename, StreamType.PlainText);
      }


看能否解决您的问题。

mindrayguowei 发表于 2015-8-18 10:39:00

可能是我的描述不够准确,你这段代码看起来和我要解决的问题没有关系。

我的工作场景是这样:

1. 加载模版到我的用户界面,这个模版会包含几个ApplicationField. 默认Text值为空.
2. 当用户点击界面上某个button (不是任何TextControl相关button,就是WinForm的button)之后,会有一段文字显示在ApplicationField所在的位置。
3. 用户编辑刚刚产生在ApplicationField位置的文字,比如换行,等等。
4.再次点击步骤2的button,   现在我只能把文字追加到上一段位子的结尾。 实际要求是要求插入到光标所在的位置。

iceman 发表于 2015-8-18 14:41:00

回复 3楼mindrayguowei的帖子

能否请你把手机号码通过论坛短消息发送给我,我们电话沟通下。拨打贵公司座机一直无人接听。

iceman 发表于 2015-8-18 16:17:00

回复 3楼mindrayguowei的帖子

通过电话沟通,可以通过 this.textControl1.Selection.Text 属性来设置选择位置文本。

iceman 发表于 2015-9-1 12:02:00

回复 3楼mindrayguowei的帖子

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062
页: [1]
查看完整版本: MergeField在程序里替换成内容后如何自动插入文字?