2014-11-05 65 views
5

在Windows手机中,如何在TextBox具有焦点时选择文本框中的所有文本?如何选择文本框中的所有文本获取焦点时

我尝试设置文本框的获得焦点属性:

private void TextBox_GotFocus(object sender, RoutedEventArgs e) 
    { 
     TextBox textBox = (TextBox)sender; 

     textBox .SelectAll(); 
    } 

我看到的是我看到的是被选择为1-2秒,所有的文本,然后它可以追溯到光标模式(即1个闪烁线)。

+0

您正在选择该文本进行复制或执行某种操作,或者您只是想突出显示文本? – 2014-11-05 05:43:27

+0

我想在文本框有焦点时选择要复制的文本。 – hap497 2014-11-05 06:08:53

+0

我想要选择所有文本,以便当用户按下某个键时,说b,所有文本都将消失,并用'b'替换。 – hap497 2014-11-05 06:50:55

回答

0

我在WPF上遇到了同样的问题,并设法解决它。不知道您是否可以使用我使用过的代码,但实质上代码如下所示:

private void TextBox_GotFocus(object sender, RoutedEventArgs e) 
    { 
     TextBox textBox = (TextBox)sender; 

     textBox .CaptureMouse() 
    } 

    private void TextBox_GotMouseCapture(object sender, RoutedEventArgs e) 
    { 
     TextBox textBox = (TextBox)sender; 

     textBox.SelectAll(); 
    } 

private void TextBox_IsMouseCaptureWithinChanged(object sender, RoutedEventArgs e) 
    { 
     TextBox textBox = (TextBox)sender; 

     textBox.SelectAll(); 
    } 

所有事件都与原始文本框相关联。如果这不适合你,也许你可以用CaptureTouch代替CaptureMouse(并使用适当的事件)。祝你好运!

0

你可以试试这个代码,

private void TextBox_GotFocus(object sender, RoutedEventArgs e) 
    { 
     String sSelectedText = mytextbox.SelectedText; 
    } 

如果选择后到来它将会被复制,如果你想以编程方式做到这一点,你可以试试这个

DataPackage d = new DataPackage(); 
d.SetText(selectedText); 
Clipboard.SetContent(d); 

拷贝图标的用户点击我建议在其他事件中进行复制而不是焦点,因为这会在用户点击文本字段后立即触发,因此当没有实际输入的文本时将调用此方法。

+0

谢谢。如果我只想要选择所有的文本怎么办? (即所有以选定颜色为背景的文本)当用户再次点击它时,它会回到光标模式(即只是一个“|”)? – hap497 2014-11-05 06:44:09

相关问题