现在的需求是一个窗体打开时,要求光标按事先给定的值,停在一个文本控件里的一个位置。
比如:有个comboBox, 在窗口show的时候,comboBox.Text是"abcd1234",如果有个值是3,那么光标就停在字母c后面我有2处应用,一个是窗口show的时候,选中文字的一段,用comboBox1.Select()和
comboBox1.SelectionStart(),就OK,而只要光标不要选中就没办法另外,我捕捉comboBox1_MouseDown事件可以捕捉光标新的位置,但键盘方向键在移动光标时我没法捕捉!!高手快出现~~~
比如:有个comboBox, 在窗口show的时候,comboBox.Text是"abcd1234",如果有个值是3,那么光标就停在字母c后面我有2处应用,一个是窗口show的时候,选中文字的一段,用comboBox1.Select()和
comboBox1.SelectionStart(),就OK,而只要光标不要选中就没办法另外,我捕捉comboBox1_MouseDown事件可以捕捉光标新的位置,但键盘方向键在移动光标时我没法捕捉!!高手快出现~~~
解决方案 »
- 如何在后台,模拟一个鼠标事件?
- vs2005做的软件,可执行文件无法启动,启动报错
- 用C#怎样设置串口?用16进制收发的?求代码
- IE8兼容问题
- 我写一个类继承于PaintEventArgs类,编译时总是报错 ‘PaintEventArgs方法没有采用“0”个参数的重载 ’
- 如何在硬盘上快速建立一个大文件?
- C# base64图上传 java接收保存出错
- 关于C#中深拷贝的问题
- 如何实现托盘程序中,托盘的提示效果?
- 有人了解类似Microsoft Windows Update更新客户端应用程序的方法吗?
- 问题再那??怎么只显示一个label按钮,其他的都不显示...咋会事..
- 为什么我写SizeChanged事件实现系统托盘时返回DialogResult.Cancel
this.comboBox1.SelectionStart = 3;
this.comboBox1.SelectionLength = 0;
cursor 代表用于绘制鼠标指针的图像。我说的是光标~~
如果放在一个按钮的事件上,this.comboBox1.SelectionStart = 3;就行了在窗口打开时,怎么办?
{
base.OnShown(e);
this.comboBox1.Text = "abcd1234";
this.comboBox1.Select();
this.comboBox1.SelectionStart = 3;
this.comboBox1.SelectionLength = 0;
}
buttonOK.Select();
comboBox1.Select(2,3);
这样是可以的,而且不能有comboBox1.Select();//有了就是全选的效果
comboBox1.SelectionStart = 3;设置光标位置仍然无效~
你说的我很明白,也有体会到,其实我写在了不同的构造函数里,当然这比Lode还要提前,所以不行。我试试OnShown
可能要在KeyDown,MouseDown等事件里来取了。
MouseDown能取到点击后的光标位置,所以鼠标ok,MouseMove也OK
可是
KeyDown在光标移动之前触发,所以捕捉不到,而且KeyPress不认无法显示的字符最最重要的就是,按住方向键,光标会一直跑的至少我要按键UP的时候的光标位置吧。
private void textBox2_KeyUp(object sender, KeyEventArgs e)
{
Console.WriteLine(this.textBox2.SelectionStart);
}