-1
對於Winforms文本框,當您單擊並拖動文本時,它將突出顯示它。有沒有辦法確定用戶拖過哪個方向?突出顯示Winforms文本框中的文本
對於Winforms文本框,當您單擊並拖動文本時,它將突出顯示它。有沒有辦法確定用戶拖過哪個方向?突出顯示Winforms文本框中的文本
無法使用Windows TextBox選擇API獲取此信息。例如,EM_GETSEL
消息定義了選擇的開始和結束字符位置,但是以預定義(排序)的順序。
但是,您可以通過處理控件的MouseMove
事件來獲取此信息。例如:
textBox1.MouseMove += new MouseEventHandler(textBox1_MouseMove);
void textBox1_MouseMove(object sender, MouseEventArgs e)
{
Control tbCtrl = sender as Control;
// the mouse coordinate values here are relative to the coordinates of the control that raised the event
int mouseX = e.X;
...
}
通過應用一些邏輯來mouseX
你可能發現光標移動平均方向。如果用戶正在進行線性運動,它將會工作得最好。如果您只想在用戶拖動鼠標時引發事件,則還可以處理文本框的類似鼠標信息的拖放事件。