文本框(TextBox)中的鼠标位置和光标位置是两个不同的概念,鼠标位置是要点击鼠标后(NouseDown)获取到,而光标位置却是实时就要获取到,也就是用户输入一个字符(KeyUp),这个位置就要改变一次,不需要鼠标的任何操作的。
下面代码能同时获取鼠标和光标位置,这里的“位置”指的是在字符串中的第几个。
需要在窗体上加上一个文本框(textBox1),还要绑定textBox1_KeyUp和textBox1_MouseDown事件。
要想实现鼠标点击或按键后光标位置获取,可用时使用下列代码
一、按下按键后位置-只要通过按键光标位置改变(鼠标点击光标改变,label2.text不改变):
private void textBox1_KeyUp(object sender, KeyEventArgs e) { label2.Text = textBox1.SelectionStart.ToString(); }
二、按下鼠标后位置-只要通过按下鼠标光标位置改变(通过按键光标改变,label2.text不改变):
private void textBox1_MouseDown(object sender, MouseEventArgs e) { label2.Text = textBox1.SelectionStart.ToString(); }
,