还是留痕问题
textcontrol内有一段字符:ABCDEFG,我现在删除了CD两个字符,用textfield进行了留痕,同对两个textfield进行了如下设置:
delTextField.Deleteable = false;
delTextField.Editable = false;
这时我再将插入点移到D字符的后面,就不能再输入字符了,但将插入点移到C的前面,可以录入字符,将插入点移到CD的中间,也不能录入字符了,主要想解决移到D的后面,要能插入字符。是因为插入点在textfield内吗?该如何解决这个问题? 用了如下语句将光标移出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);
}
但还是解决不了问题 回复 2楼etsoft的帖子
etsoft 你好,
我使用附件没有重现你的问题:
能否提供你的重现步骤?
谢谢 就你的这个demo就可以重现,在插入CD后,输入几个字符后,再用鼠标点击一下D的后面,多试两次,我已经下载了你的demo,没有做任何修改,出现相同的问题
另外弱弱的问下版主,你的这个视频是用什么工具做的呀,觉得挺好,以后有问题直接这样展示给你看 该问题急求版主解决一下 在线求解 在线等呀,版主 回复 7楼etsoft的帖子
试试这段代码看能否符合你的需求:
private void Form1_Load(object sender, EventArgs e)
{
this.textControl1.TextFieldClicked += new TextFieldEventHandler(textControl1_TextFieldClicked);
}
void textControl1_TextFieldClicked(object sender, TextFieldEventArgs e)
{
this.textControl1.Select(e.TextField.Start, 1);
string selectText = this.textControl1.Selection.Text;
this.textControl1.Selection.Text = " " + selectText;
this.textControl1.Select(e.TextField.Start, 1);
this.textControl1.Selection.Text = "";
}
private void addTextFieldToolStripMenuItem_Click(object sender, EventArgs e)
{
TextField tf1 = new TextField();
tf1.Text = "C";
tf1.Deleteable = false;
tf1.Editable = false;
TextField tf2 = new TextField();
tf2.Text = "D";
tf2.Deleteable = false;
tf2.Editable = false;
this.textControl1.TextFields.Add(tf1);
this.textControl1.TextFields.Add(tf2);
}
回复 4楼etsoft的帖子
etsoft 你好,
我使用的截屏工具是 ComponentOne DemoWorks,下载链接:http://download.componentone.com/pub/HelpAuthoring/DemoWorks/Updates/DemoWorks_2009_1_0_19.msi
页:
[1]