2016-08-23 34 views
-1

我已經實現了提到的代碼來選擇WPF文本框的文本,但它不起作用。 其觸發事件是「PreviewMouseDown」選擇文本的WPF文本框點擊

txtQuantity.SelectionStart = 0 
txtQuantity.SelectionLength = txtQuantity.Text.Length 
+0

Length - 1;你也標記了這個C#,但這是VB.Net,請不要這樣做。 –

+0

您可以使用[WPF Toolkit](http://wpftoolkit.codeplex.com/)中的[AutoSelectTextBox](http://wpftoolkit.codeplex.com/wikipage?title=AutoSelectTextBox&referringTitle=Home) – Sam

+0

它適用於'PreviewMouseUp '。 – Wickramaranga

回答

0

假設你想要選擇一個文本框的文本,點擊文本框本身,這將工作。

事件PreviewMouseUp

代碼:

txtQuantity.SelectAll() 

,或者

txtQuantity.Select(start, length) 

PreviewMouseDown不起作用,因爲,通過鼠標做下來效果是由事件PreviewMouseUp否決事件這使得真正的「點擊」。嘗試按住鼠標按鈕以查看此效果。

1

不要使用PreviewMouseDown事件爲 使用的GotFocus()或MouseUp事件而在此情況下寫一行

textBox1.SelectAll(); 
0

您必須使用PreviewMouseUp事件。因爲當你選擇文本框s text after another process deselect textbox的文本。取消選中的文本框文本事件在鼠標向下和鼠標事件之間起作用

private void textBox_PreviewMouseUp(object sender, MouseButtonEventArgs e) 
    { 
     ((TextBox)sender).SelectAll(); 

    }