找回密码
 立即注册

QQ登录

只需一步,快速开始

DCAgile
中级会员   /  发表于:2015-12-10 17:19:00
6#
回复 5楼iceman的帖子

int start = 0;
        int length = 0;
        private void mailMerge1_FieldMerged(object sender, TXTextControl.DocumentServer.MailMerge.FieldMergedEventArgs e)
        {
            getCollection = new Dictionary<int, int>();
            if (e.MailMergeFieldAdapter.ApplicationField.Name=="content")
            {
                start = e.MailMergeFieldAdapter.Start;
                length = e.MailMergeFieldAdapter.Length;

                getCollection.Add(start-1, length);

                this.textControl1.Select(start, length);
                this.textControl1.Selection.TextBackColor = Color.Red;
            }
        }

        private void textControl1_Changed(object sender, EventArgs e)
        {
            int a = start-1;
            int c = this.textControl1.InputPosition.TextPosition;
            int b = length+1;

            if (c>a &amp;&amp; c<(a+b))
            {
            }
            else
            {
                //如何退出事件  
                return;
            }
        }


问题:textControl1_Changed 怎么退出事件???
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-12-9 09:47:00
5#
回复 4楼DCAgile的帖子

请参考:
tx_win_demo.zip (109.29 KB, 下载次数: 139)
回复 使用道具 举报
DCAgile
中级会员   /  发表于:2015-12-8 16:02:00
地板
回复 3楼DCAgile的帖子

  private void mailMerge1_FieldMerged(object sender, TXTextControl.DocumentServer.MailMerge.FieldMergedEventArgs e)

刚电话没有人接听
问题: 添加的事件 —— 无法除法该事件,是什么原因???   麻烦将你的实例发一下??
回复 使用道具 举报
DCAgile
中级会员   /  发表于:2015-12-7 17:30:00
板凳
回复 2楼iceman的帖子

1.麻烦将你写的实例发过来,我看一下

2.麻烦继续跟踪一下一个模版中出现多个相同字段的情况的处理方式??
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2015-12-7 16:54:00
沙发
回复 1楼DCAgile的帖子

可以通过 FieldMerged 事件获取每次绑定的文本位置,在编辑时判断:

  1.         int start = 0;
  2.         int length = 0;
  3.         bool isMark = true;
  4.         private void mailMerge1_FieldMerged(object sender, TXTextControl.DocumentServer.MailMerge.FieldMergedEventArgs e)
  5.         {
  6.             if (isMark)
  7.             {
  8.                 start = e.MailMergeFieldAdapter.Start;
  9.                 length = e.MailMergeFieldAdapter.Length;

  10.                 isMark=false;
  11.             }
  12.         }

  13.         private void 获取绑定文本ToolStripMenuItem_Click(object sender, EventArgs e)
  14.         {
  15.             this.textControl1.Select(start-1, length);
  16.             MessageBox.Show(this.textControl1.Selection.Text);
  17.         }

复制代码


这是我当前的调查结果。你可以尝试下
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部