C#-WinForm-如何获取文本框(TextBox)中鼠标,光标位置

时间:2023-03-09 07:20:32
C#-WinForm-如何获取文本框(TextBox)中鼠标,光标位置

文本框(TextBox)中的鼠标位置和光标位置是两个不同的概念,鼠标位置是要点击鼠标后(NouseDown)获取到,而光标位置却是实时就要获取到,也就是用户输入一个字符(KeyUp),这个位置就要改变一次,不需要鼠标的任何操作的。

下面代码能同时获取鼠标和光标位置,这里的“位置”指的是在字符串中的第几个。

需要在窗体上加上一个文本框(textBox1),还要绑定textBox1_KeyUp和textBox1_MouseDown事件。

要想实现鼠标点击或按键后光标位置获取,可用时使用下列代码

一、按下按键后位置-只要通过按键光标位置改变(鼠标点击光标改变,label2.text不改变):

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
label2.Text = textBox1.SelectionStart.ToString();
}

C#-WinForm-如何获取文本框(TextBox)中鼠标,光标位置

二、按下鼠标后位置-只要通过按下鼠标光标位置改变(通过按键光标改变,label2.text不改变):

private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
label2.Text = textBox1.SelectionStart.ToString();
}

C#-WinForm-如何获取文本框(TextBox)中鼠标,光标位置