请教:如何在Textbox的光标位置插入字符串后,设置Textbox 的 scroll 所处的位置呢? 如题: (winform) 如何在Textbox的光标位置插入字符串后,设置Textbox 的 scroll 所处的位置呢? 很抱歉!现只有20分。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 textBox1.SelectionStart = textBox1.Text.Length - 1; textBox1.Text +=rand.Next(100).ToString(); textBox1.SelectionStart = textBox1.Text.Length - 1; textBox1.ScrollToCaret(); textBox1.SelectionStart = textBox1.TextLength; 在文本最后如此是很正常。但是在文本中间添加时就出现了不委的情况: 例:1 1111111111112 22222223 33334 4444445 55555556 66666667 777777778 88888888888 当前textbox共有文本8行,可只有5行的显示空间。例:当前正显示着3 45 55555 5555567此5行,光标正在 5 55555 的后面。然后,通过ctrl+d 在此处添加 ‘2010-5-19’,希望是3 45 55555 2010-5-19 5555567显示在textbox可见区域,可实际是123 45 55555 2010-5-19 55555正显示着。 textBox1.SelectionLength = 0;textBox1.SelectedText = " 2005-12-4 ";ctrl+D时你是这样设置吗? 楼主可能把简单的事件弄复杂了,你重设了Text或Lines造成TextBox的光标回到首字符处就那样了。重设SelectedText不会有这个问题。 回复zzx509, 是重新设置的其text,因为要在光标所在的位置加入 某字符串,所以先获取了textbox的原值,然后重新组合了新的串后,再赋值给textbox。现就是要将textbox的scroll重定位到原值。 请教:有另外的方法可以实现此功能吗? Ctrl+D操作后的处理代码改成4楼的。 4楼:textBox1.SelectionLength = 0;textBox1.SelectedText = " 2005-12-4 ";可是假如textbox原值的第1行里正好包含" 2005-12-4 " 值的话,这样恐怕就有问题了吧! zzx509: 多谢了! planet5563(二楼)这方法不错。 大家帮忙找找代码哪里出问题了 急,Timer组件的Tick事件执行导致程序很卡 求C#日志库 请教大神们,lostfocus 事件执行两遍怎么解决。 Excel文件导入SQL 2005 ??? 又要麻烦各位高手了。关于C#制作界面 如何创建一个不能改变高度的windows 控件? 初学ASP.NET 哪位知道VS2005自带的帮助系统是指什么? winform下textbox与输入法的问题! 关于C#事件 C# byte如何转为byte数组
textBox1.SelectionStart = textBox1.Text.Length - 1;
textBox1.Text +=rand.Next(100).ToString();
textBox1.SelectionStart = textBox1.Text.Length - 1;
textBox1.ScrollToCaret();
1 111111111111
2 2222222
3 3333
4 444444
5 5555555
6 6666666
7 77777777
8 88888888888
当前textbox共有文本8行,可只有5行的显示空间。
例:当前正显示着
3
4
5 55555 55555
6
7
此5行,光标正在 5 55555 的后面。
然后,通过ctrl+d 在此处添加 ‘2010-5-19’,
希望是
3
4
5 55555 2010-5-19 55555
6
7
显示在textbox可见区域,可实际是
1
2
3
4
5 55555 2010-5-19 55555
正显示着。
textBox1.SelectionLength = 0;
textBox1.SelectedText = " 2005-12-4 ";ctrl+D时你是这样设置吗?
重设SelectedText不会有这个问题。
是重新设置的其text,因为要在光标所在的位置加入 某字符串,所以先获取了textbox的原值,然后重新组合了新的串后,再赋值给textbox。现就是要将textbox的scroll重定位到原值。
请教:有另外的方法可以实现此功能吗?
textBox1.SelectionLength = 0;
textBox1.SelectedText = " 2005-12-4 ";可是假如textbox原值的第1行里正好包含" 2005-12-4 " 值的话,这样恐怕就有问题了吧!
zzx509:
多谢了!
这方法不错。