Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当文本框获得焦点时,如何选择文本框中的所有文本_C#_Windows Phone 8.1 - Fatal编程技术网

C# 当文本框获得焦点时,如何选择文本框中的所有文本

C# 当文本框获得焦点时,如何选择文本框中的所有文本,c#,windows-phone-8.1,C#,Windows Phone 8.1,在Windows phone中,当文本框具有焦点时,如何选择文本框中的所有文本 我尝试设置Textbox的get focus属性: private void TextBox_GotFocus(object sender, RoutedEventArgs e) { TextBox textBox = (TextBox)sender; textBox .SelectAll(); } 我看到的是,我看到所有文本都被选中了1-2秒,然后它返回到

在Windows phone中,当文本框具有焦点时,如何选择文本框中的所有文本

我尝试设置Textbox的get focus属性:

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

        textBox .SelectAll();
    }
我看到的是,我看到所有文本都被选中了1-2秒,然后它返回到光标模式(即1条闪烁线)。

您可以尝试此代码

    private void TextBox_GotFocus(object sender, RoutedEventArgs e)
    {
        String sSelectedText = mytextbox.SelectedText;
    }
若用户单击选择后出现的复制图标,它将被复制,若您希望以编程方式执行此操作,可以尝试此操作

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

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

我在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(并使用适当的事件)。祝你好运

您正在选择要复制的文本或执行某种操作,或者您只想突出显示文本?我想选择文本框有焦点时复制的文本。我想选择所有要选择的文本,以便当用户按某个键时,例如b,所有文本都将消失,并替换为“b”。类似于WP中的键盘词典?因此,这是使用。。。UWP?谢谢。如果我只想选择所有的文本呢?(即以选定颜色作为背景的所有文本)当用户再次单击它时,它会返回到光标模式(即仅一个“|”)吗?
protected override void OnStartup(StartupEventArgs e)
{
    //works for tab into textbox
    EventManager.RegisterClassHandler(typeof(TextBox),
        TextBox.GotFocusEvent,
        new RoutedEventHandler(TextBox_GotFocus));
    //works for click textbox
    EventManager.RegisterClassHandler(typeof(Window),
        Window.GotMouseCaptureEvent,
        new RoutedEventHandler(Window_MouseCapture));

    base.OnStartup(e);
}
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
    (sender as TextBox).SelectAll();
}

private void Window_MouseCapture(object sender, RoutedEventArgs e)
{
    var textBox = e.OriginalSource as TextBox;
    if (textBox != null)
         textBox.SelectAll(); 
}