Necesito quitar el foco de varios TextBoxes. Intenté usar:
textBox1.Focused = false;
Su ReadOnly
valor de propiedad es true
.
Luego intenté establecer el enfoque en el formulario, para eliminarlo de todos los TextBoxes, pero esto tampoco funciona:
this.Focus();
y la función regresa false
cuando se selecciona un cuadro de texto.
Entonces, ¿cómo elimino el foco de un TextBox?
Centrarme en la etiqueta no funcionó para mí, hacer algo como
label1.Focus()
¿no? el cuadro de texto todavía tiene el foco al cargar el formulario, sin embargo, intentar la respuesta de Velociraptors funcionó para mí, estableciendo el control Activo del Formulario en la etiqueta de esta manera:fuente
this.ActiveControl = panelOnMyForm;
Puede agregar el siguiente código:
fuente
Intente deshabilitar y habilitar el cuadro de texto.
fuente
textBox1.Enabled = false;
desactivará su cuadro de texto. y configurarlo paratrue
volver a habilitarlo.También puede establecer la
activecontrol
propiedad de formularios en Menull
gustafuente
Focus
establece el foco de entrada, por lo que establecerlo en el formulario no funcionará porque los formularios no aceptan la entrada. Intente establecer laActiveControl
propiedad del formulario en un control diferente. También puede utilizarSelect
para seleccionar un control específico oSelectNextControl
para seleccionar el siguiente control en el orden de tabulación.fuente
Select()
funcionó para mí.Prueba este:
Primero configure el orden de tabulación.
Luego, en el evento de carga de formulario, podemos enviar una tecla de tabulación mediante programación a la aplicación. Para que la aplicación se centre en el primer control en el orden de tabulación.
en la carga de formulario incluso escriba esta línea.
Esto funcionó para mí.
fuente
Esta publicación me llevó a hacer esto:
Esto me permite capturar toda la entrada del teclado en el nivel superior sin que otros controles se vuelvan locos.
fuente
¡He encontrado una buena alternativa! Funciona mejor para mí, sin poner el foco en otra cosa.
Trata eso:
fuente
Hice esto en mi control personalizado, hice esto enFocus ()
Entonces, si se enfoca en texbox, se enfoca instantáneamente en el padre del cuadro de texto (formulario, o panel ...). Esta es una buena opción si desea hacer esto en un control personalizado.
fuente
Parece que no tengo que fijar el foco en ningún otro elemento. En una aplicación de Windows Phone 7, he estado usando el método Focus para desarmar el Focus de un cuadro de texto.
Dar el siguiente comando no establecerá el foco en nada:
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.focus.aspx
Funcionó para mí, pero no sé por qué no funcionó para usted: /
fuente
Una solución simple sería eliminar el foco, simplemente cree su propia clase:
fuente
fuente
La forma en que me muevo es colocando todos mis controles winform. Hago todas las etiquetas y controles winform no seleccionados como orden de tabulación 0, luego mi primer control como orden de tabulación 2 y luego incremento el orden de cada control seleccionable en 1, por lo que 3, 4, 5, etc.
De esta manera, cuando se inician mis Winforms, ¡el primer TextBox no tiene foco!
fuente
puedes hacer esto por dos métodos
arrastre dos cuadros de texto
fuente
Si todo lo que desea es el efecto óptico de que el cuadro de texto no tiene una selección azul en todo su contenido, simplemente no seleccione texto:
Después de esto, al agregar contenido con
.Text += "..."
, no se mostrará ninguna selección azul.fuente
Intente configurarlo
TabStop
enFalse
para su control de vista que no está enfocado.Por ejemplo:
fuente
En el constructor del formulario o UserControl sosteniendo el TextBox escribir
Después de InitializeComponent (); Fuente: https://stackoverflow.com/a/4811938/5750078
Ejemplo:
fuente