Saber quién recibe el foco

06/03/2006 - 23:05 por Lucas | Informe spam
Buenas Tardes a todos.

Tengo un TextBox en un formulario y quisiera saber cómo hago para saber cuál
es el elemento del formulario que recibe el foco después de que el TextBox lo
pierde.

Lo que exactamente quiero saber es si después de que el TextBox perdió el
foco se fué a un ListBox que tengo, porque sobre esa base se tiene que
realizar una determinada acción y si el elemento que recibe el foco no es el
ListBox pues se debe hacer una acción diferente.

Ojalá alguien pueda ayudarme.

Gracias por su tiempo.

Preguntas similare

Leer las respuestas

#1 Raul Guerrero
07/03/2006 - 02:16 | Informe spam
Prueba utilizando la propiedad focused del control
me.ListBox1.focused

También puedes usar el Metodo GetNextControl el cual te devuelve una
referencia al control siguiente o al anterior dependiendo de los parámetros
que le envíes a este método.

Espero te sea de utilidad

Atentamente,
Raúl Guerrero
http://superneurona.blogspot.com

Referencia a este tema en mi blog:
http://neuronahelp.blogspot.com/200...-foco.html



"Lucas" wrote:

Buenas Tardes a todos.

Tengo un TextBox en un formulario y quisiera saber cómo hago para saber cuál
es el elemento del formulario que recibe el foco después de que el TextBox lo
pierde.

Lo que exactamente quiero saber es si después de que el TextBox perdió el
foco se fué a un ListBox que tengo, porque sobre esa base se tiene que
realizar una determinada acción y si el elemento que recibe el foco no es el
ListBox pues se debe hacer una acción diferente.

Ojalá alguien pueda ayudarme.

Gracias por su tiempo.
Respuesta Responder a este mensaje
#2 Lucas
07/03/2006 - 16:06 | Informe spam
Estoy usando VB .Net 2003 y el control ListBox no tiene la propiedad
focused. Por otro lado, el método GetNextControl, por lo que he averiguado,
depende del orden del TabIndex, por lo que no se ajusta a mis necesides, pues
uno puede ir a cualquier control del formulario después de dejar el TextBox
que mencioné, asi que el orden de los TabIndex no es la referencia que busco.

De todas maneras, gracias por tu tiempo.
Respuesta Responder a este mensaje
#3 Raul Guerrero
07/03/2006 - 17:27 | Informe spam
Prueba con este código

For Each ctrl As Control In Me.Controls
If ctrl.Focused Then TextBox1.Text = ctrl.Name
Next

Esta probado en Vb.NET 2003, lo unico que tienes que tener es un TextBox
llamado TextBox1 para que ahi te ponga el valor o cambiar en el codigo
TextBox1.Text por una Variable String

Ademas realize un proyecto para que lo veas funcionando y lo puedas debugear.
Se encuentra en:
http://www.geocities.com/jrwarrior/...istBox.zip

Te envio un cordial saludo.

Atentamente,
Raúl Guerrero
http://superneurona.blogspot.com

Referencia a este tema en mi blog:
http://neuronahelp.blogspot.com/200...-foco.html


"Lucas" wrote:

Estoy usando VB .Net 2003 y el control ListBox no tiene la propiedad
focused. Por otro lado, el método GetNextControl, por lo que he averiguado,
depende del orden del TabIndex, por lo que no se ajusta a mis necesides, pues
uno puede ir a cualquier control del formulario después de dejar el TextBox
que mencioné, asi que el orden de los TabIndex no es la referencia que busco.

De todas maneras, gracias por tu tiempo.
Respuesta Responder a este mensaje
#4 Lucas
07/03/2006 - 21:31 | Informe spam
He usado ese segmento de código con un Timer, para saber cuál es el control
que recibe el enfoque en todo momento.

Gracias por tu ayuda y tu tiempo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida