c# - selstart - Cómo seleccionar todo el texto en el cuadro de texto cuando se enfoca
selstart vba excel (2)
En Windows phone, ¿cómo puedo seleccionar todo el texto en TextBox cuando el TextBox tiene foco?
Intento configurar la propiedad get focus de Textbox:
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
TextBox textBox = (TextBox)sender;
textBox .SelectAll();
}
Lo que veo es que veo que todo el texto se está seleccionando durante 1-2 segundos y luego vuelve al modo cursor (es decir, 1 línea parpadeante).
Puedes probar este código,
private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
String sSelectedText = mytextbox.SelectedText;
}
Si el usuario hace clic en el ícono de copiar que viene después de la selección, se copiará; si quiere hacerlo programáticamente, puede intentar esto
DataPackage d = new DataPackage();
d.SetText(selectedText);
Clipboard.SetContent(d);
Sugeriría hacer la copia en algún otro evento en lugar de getfocus, ya que se activará inmediatamente después de que el usuario toque el campo de texto, por lo que se llamará a este método cuando no se ingrese texto.
Tuve este mismo problema en WPF y logré resolverlo. No estoy seguro si puede usar lo que usé, pero esencialmente su código se vería así:
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();
}
Todos los eventos conectados al cuadro de texto original. Si esto no funciona para ti, tal vez puedas reemplazar CaptureMouse con CaptureTouch (y usar los eventos apropiados). ¡Buena suerte!