c# - net - Colocando el cursor al final de cualquier texto de un cuadro de texto
poner el foco en un textbox vb6 (4)
Hay múltiples opciones:
txtBox.Focus();
txtBox.SelectionStart = txtBox.Text.Length;
O
txtBox.Focus();
txtBox.CaretIndex = txtBox.Text.Length;
O
txtBox.Focus();
txtBox.Select(txtBox.Text.Length, 0);
Esta pregunta ya tiene una respuesta aquí:
Tengo un cuadro de texto con una cadena mostrada que ya está en él. Para llevar el cursor al cuadro de texto que ya estoy haciendo
txtbox.Focus();
Pero, ¿cómo obtengo el cursor al final de la cadena en el cuadro de texto?
Prueba a continuación ... te ayudará ...
Algún tiempo en Window Form Focus()
no funciona correctamente. Así que mejor puedes usar Select()
para enfocar el cuadro de texto.
txtbox.Select(); // to Set Focus
txtbox.Select(txtbox.Text.Length, 0); //to set cursor at the end of textbox
Puede controlar la posición del cursor (y la selección) con las propiedades txtbox.SelectionStart
y txtbox.SelectionLength
. Si desea configurar el cursor para finalizar, intente esto:
txtbox.SelectionStart = txtbox.Text.Length -1 // add some logic if length is 0
txtbox.SelectionLength = 0
Para WPF, mira esta publicación .
Puede establecer la posición de intercalación con TextBox.CaretIndex . Si lo único que necesita es colocar el cursor al final, simplemente puede pasar la longitud de la cadena, por ejemplo:
txtBox.CaretIndex=txtBox.Text.Length;
Debe establecer el índice de intercalación en la longitud, no en la longitud-1, porque esto colocaría la referencia antes del último carácter.