![]() |
Resaltar un TextBox cuando tiene foco! Hola a todos...soy nuevo por aqui asi que me inauguro con esta pequeña duda: ¿Como hacer que un textbox, u otro tipo de control, se resalte cuando el usuario lo selecciona, es decir, cuando el control obtiene el focus? Estoy desarrollando una pequeña aplicación y es preciso que cuando el usuario se vaya moviendo con el tabulador por los distintos controles vea con claridad cual es el que tiene el foco en cada momento (resaltandolo, cambiando el color de fondo, cambiando el color del borde...) He buscado pero no he encontrado nada que me ayude. Son muchos controles así que no me sirve programar el evento OnFocus para cada uno de ellos, porque me eternizaría. Necesito un método general que funcione y que pueda reutilizar en todos los formularios. A ver qué se os ocurre. Gracias de antemano! |
Re: Resaltar un TextBox cuando tiene foco! hola, para cada textbox en su evento enter y leave Código: Private Sub TextBox2_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.Enter |
Re: Resaltar un TextBox cuando tiene foco! Sí, seguro que funciona, pero no me vale! Tengo decenas de textbox y otros controles, y si voy haciendo eso uno a uno voy a tardar unas cuantas horas. Tiene que haber una forma mas sencilla y que afecte de manera global...no se os ocurre nada? :'( |
Re: Resaltar un TextBox cuando tiene foco! lo que debes hacer es un UserControl que tenga un textbox y lo replicas o creas una clase que herede de la clase de Foms.TextBox y le agregas esa propiedad y utilizas ese control en todo lugar donde necesites el texbox. asi haces el cambio en un solo lugar y listo, se aplica para todos. |
Re: Resaltar un TextBox cuando tiene foco! Espero te sirva, esto lo saque de alguna parte de la web. Código: Private Sub TieneFoco(ByVal sender As Object, ByVal e As System.EventArgs)suerte |
Re: Resaltar un TextBox cuando tiene foco! Gracias sagma, era justo lo que estaba buscando! Pero algo falla... Cuando el control tiene foco va bien, pero cuando pulso TAB para cambiar al siguiente textbox...no cambia! Se queda en el mismo textbox. Si desactivo el evento PierdeFoco sí que cambia de textbox al pulsar TAB, pero se necesita dicha funcion activa para que el tema sirve de algo ¿Por que sera que no cambia al pulsar TAB? Hace como un amago de cambiar, pero vuelve al mismo control. Es extraño |
Re: Resaltar un TextBox cuando tiene foco! hola amigo, chatarrero, ese código, tanto en el 2003 como en el 2005 me funciona de maravillas, y no he tenido ningún problema. |
Re: Resaltar un TextBox cuando tiene foco! Pues no se entonces... Yo tengo el 2005 y programo en C# (he traducido tu codigo a C#) y funcionar funciona. Cambio de campos con el ratón y hace lo que tiene que hacer. Lo que pasa es que el Tabulador (TAB) no funciona con este código. Lo quito y todo va bien, lo vuelvo a poner y deja de funcionar el tabulador, con lo que solo me queda ir saltando de campo en campo con el ratón...pero no puede ser así. ¿No se te ocurre por qué puede ser? Es bastante extraño... :'( |
Re: Resaltar un TextBox cuando tiene foco! He hecho unas pruebas y lo que ocurres es MUY raro... Lo que he averiguado es que el TAB sí que funciona, solo que en lugar de saltar al siguiente textbox salta al textbox actual! Lo pulso 30 veces y sigue saltando al control actual ¿Que pasa?? Que tiene esto que ver con las funciones de antes...que si las quito el salto con el TAB funciona sin problemas.. ...Estoy desesperado |
Re: Resaltar un TextBox cuando tiene foco! como te digo, a mi, me funciona bien, pero con Visual Basic, ya sea en el 2003 y en el 2005. |
Re: Resaltar un TextBox cuando tiene foco! no sera que tienes algo mal en tu sintaxis de c#???? por k no pegas todo el codigo? o alomejor una version no actualizada del visual!! o ps ya d plano trata en otra pc :pensando: y si funciona quiere decir que alomejro lo tienes mal instalado o algun archivo se danio :S |
Re: Resaltar un TextBox cuando tiene foco! He probado en otros forms de la aplicación y funciona, pero en unos cuantos me ocurre lo dicho antes: el tabulador deja de funcionar y tengo que saltar de campo en campo con el ratón. Trabajo con Visual Studio 2005... |
Solucionado! El error de tabulación ya está. Ahora los forms tabulan perfectamente. Solo hay que meter este codigo: Código: protected override bool ProcessCmdKey(ref Message m, Keys keyData) |
Respuesta: Resaltar un TextBox cuando tiene foco! Hola, no se si aun lo has solucionado, y sino que le sirva para otra persona que tenga dudas. Una manera sencilla de hacerla es la siguiente: Crea dos metodos como el siguiente: private void ResaltaTxtbox_Onenter(object sender, Enventargs e) e.color = el que vos le quieras asignar y para dejarlo nuevamente con su color original: private void DevolverColortxtBox_onleave(object sender, Eventargs e) e.color = el que tenia al principio. Ahora seleccionas los textbox que quieras aplicarle esto , y en la pestaña de propiedades - eventos en el evento On_enter le asginas ResaltaTxtbox_Onenter y en el evento on_leave asignas DevolverColortxtBox_onleave. saludos! |
Respuesta: Resaltar un TextBox cuando tiene foco! hola a todos que tal quisiera saber como se hace un formulario de inscripcion en mi web pues quisiera que me explicaran bien como se le tiene que hacer quisiera colocar el formulario de inscripcion y que cuando llenen los datos mande un mensaje a su correo y que ya pueda usar su usuario y contrasena algo asi e estado buscando pero no encuentro como hacerlo de antemano gracias... |
Respuesta: Resaltar un TextBox cuando tiene foco! un favor , como hago para convertir este procedimiento de vb.net a C#. Sub Color_Textbox() Dim ctrl As Control For Each ctrl In Me.gbx_general.Controls If (TypeOf (ctrl) Is TextBox) Then Dim miTextBox As TextBox miTextBox = CType(ctrl, TextBox) AddHandler miTextBox.Enter, AddressOf TieneFoco AddHandler miTextBox.Leave, AddressOf PierdeFoco End If Next End Sub es urgente porfavor, gracias :D |
Respuesta: Resaltar un TextBox cuando tiene foco! entra a esta pagina http://www.carlosag.net/Tools/CodeTranslator/ se salio del titulo la pregunta, pero ahí está la respuesta |
| La zona horaria es GMT -6. Ahora son las 07:53. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.