文本框(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(); }