找回密码
 立即注册

QQ登录

只需一步,快速开始

etsoft

中级会员

31

主题

84

帖子

593

积分

中级会员

积分
593

活字格认证

[已处理] 还是留痕问题

etsoft
中级会员   /  发表于:2014-1-3 15:11  /   查看:6441  /  回复:8
textcontrol内有一段字符:
ABCDEFG,我现在删除了CD两个字符,用textfield进行了留痕,同对两个textfield进行了如下设置:
delTextField.Deleteable = false;
delTextField.Editable = false;
这时我再将插入点移到D字符的后面,就不能再输入字符了,但将插入点移到C的前面,可以录入字符,将插入点移到CD的中间,也不能录入字符了,主要想解决移到D的后面,要能插入字符。是因为插入点在textfield内吗?该如何解决这个问题?

8 个回复

倒序浏览
etsoft
中级会员   /  发表于:2014-1-3 16:01:00
沙发
用了如下语句将光标移出textfield边界:
        private void textControlEx1_TextFieldClicked(object sender, TXTextControl.TextFieldEventArgs e)
        {
            TextField clickField = e.TextField;

            int start = clickField.Start;

            int length = clickField.Length;

            this.textControlEx1.Select(start + length - 1, 0);

        }
但还是解决不了问题
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-1-3 18:22:00
板凳
回复 2楼etsoft的帖子

etsoft 你好,

我使用附件没有重现你的问题:
11538.zip (47.17 KB, 下载次数: 405)
回复 使用道具 举报
etsoft
中级会员   /  发表于:2014-1-3 23:11:00
地板
就你的这个demo就可以重现,在插入CD后,输入几个字符后,再用鼠标点击一下D的后面,多试两次,我已经下载了你的demo,没有做任何修改,出现相同的问题

另外弱弱的问下版主,你的这个视频是用什么工具做的呀,觉得挺好,以后有问题直接这样展示给你看
回复 使用道具 举报
etsoft
中级会员   /  发表于:2014-1-6 09:20:00
5#
该问题急求版主解决一下
回复 使用道具 举报
etsoft
中级会员   /  发表于:2014-1-6 10:58:00
6#
在线求解
回复 使用道具 举报
etsoft
中级会员   /  发表于:2014-1-6 12:18:00
7#
在线等呀,版主
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-1-6 12:39:00
8#
回复 7楼etsoft的帖子

试试这段代码看能否符合你的需求:


  1.         private void Form1_Load(object sender, EventArgs e)
  2.         {
  3.             this.textControl1.TextFieldClicked += new TextFieldEventHandler(textControl1_TextFieldClicked);
  4.         }

  5.         void textControl1_TextFieldClicked(object sender, TextFieldEventArgs e)
  6.         {

  7.             this.textControl1.Select(e.TextField.Start, 1);
  8.             string selectText = this.textControl1.Selection.Text;
  9.             this.textControl1.Selection.Text = " " + selectText;

  10.             this.textControl1.Select(e.TextField.Start, 1);

  11.             this.textControl1.Selection.Text = "";
  12.         }

  13.         private void addTextFieldToolStripMenuItem_Click(object sender, EventArgs e)
  14.         {
  15.             TextField tf1 = new TextField();
  16.             tf1.Text = "C";
  17.             tf1.Deleteable = false;
  18.             tf1.Editable = false;

  19.             TextField tf2 = new TextField();
  20.             tf2.Text = "D";
  21.             tf2.Deleteable = false;
  22.             tf2.Editable = false;

  23.             this.textControl1.TextFields.Add(tf1);
  24.             this.textControl1.TextFields.Add(tf2);
  25.         }
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-1-6 14:37:00
9#
回复 4楼etsoft的帖子

etsoft 你好,
我使用的截屏工具是 ComponentOne DemoWorks,下载链接:http://download.componentone.com ... rks_2009_1_0_19.msi
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部