2016-08-23 35 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(); 

    }