• Jueves 14 de Noviembre de 2024, 04:23

Autor Tema:  Asignar Foco  (Leído 3904 veces)

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Asignar Foco
« en: Miércoles 15 de Agosto de 2007, 21:25 »
0
Hola a todos, tengo un textbox, donde pongo el apellido de una persona, pero quisiera que cuando le doy enter, en el textbox, que le ponga el foco en un primer boton que esta en un toolbar.

esta es la imagen de mi ventana de búsqueda.


gracias.  :unsure:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Sagma

Scherzo

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
    • http://www.mma-spain.com
Re: Asignar Foco
« Respuesta #1 en: Viernes 31 de Agosto de 2007, 16:00 »
0
Hola, supongamos que el botón se llama cmdBoton y el TextBox se llama txtTexto. El código que tendrías que poner en el evento KeyUp del TextBox sería:

Código: Text
  1. Private Sub txtTexto_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtTexto.KeyUp
  2.     If e.KeyValue = Keys.Enter Then
  3.         cmdBoton.Focus()
  4.     End If
  5. End Sub
  6.  

En tu caso tendrías que poner los nombres correspondientes a tus objetos.

Espero haberte servido de ayuda.

Saludos

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Asignar Foco
« Respuesta #2 en: Viernes 31 de Agosto de 2007, 21:56 »
0
gracias Scherzo por contestar, pero fijate lo estoy haciendo de esta manera:  :unsure:

Código: Text
  1.  
  2.     Private Sub txt_descripcion_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_descripcion.KeyUp
  3.         If e.KeyValue = Keys.Enter Then
  4.             Me.ToolBarButton2.Focus()
  5.         End If
  6.     End Sub
  7.  
  8.  

y me sale un error:

Citar
focus, no es un miembro de System.windows.forms.toolbarbutton


 :comp:
Sagma

Scherzo

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
    • http://www.mma-spain.com
Re: Asignar Foco
« Respuesta #3 en: Lunes 3 de Septiembre de 2007, 11:22 »
0
Hola, perdona, tienes razón, se me había pasado por alto que hablabas de un ToolBar.

He estado mirando y no he visto ningún control que venga con Visual Studio .NET 2005 que se llame ToolBar. Lo más aproximado que he encontrado es el ToolStrip, por lo que he hecho una prueba con él y he visto que lo que tu quieres se hace con estas dos instrucciones allá donde las necesites:

Citar
//Seleccionamos el botón que queremos
toolStrip1.Items[0].Select();
//Damos el foco al ToolStrip
toolStrip1.Focus();

Con la primera instrucción lo que estamos haciendo es seleccionar el botón que queremos dentro de todos los botones del ToolStrip. Yo he puesto un cero pero ahí iría el índice del botón que quieres seleccionar. Con esto conseguimos que quede seleccionado y que visualmente el usuario vea que lo está.

Y luego, con la segunda instrucción lo que estamos haciendo es que el objeto ToolStrip coja el foco y así, si el usuario pulsa ENTER, que la pulsación le llegué a este objeto y por tanto al botón seleccionado.

En las pruebas que he hecho me ha funcionado, mira a ver si te sirve.

Saludos

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Asignar Foco
« Respuesta #4 en: Lunes 3 de Septiembre de 2007, 14:35 »
0
gracias por responder, pero si te fijas estoy usando VBnet 2003, Winforms.   :whistling:



 :comp:
Sagma

Scherzo

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
    • http://www.mma-spain.com
Re: Asignar Foco
« Respuesta #5 en: Lunes 3 de Septiembre de 2007, 15:20 »
0
Tienes razón, he arrancado el Visual Studio .NET 2003 y ahí sí aparece un control llamado ToolBar. :)

He estado haciendo algunas pruebas pero no tiene pinta que admita el foco un botón del ToolBar, por lo menos usando los métodos estándar del objeto. Supongo que tendrías que heredar de la clase y meter la modificación correspondiente para simular un foco dentro de los botones, aunque tiene pinta de ser trabajoso.

Lo más que he visto es que el objeto como tal admita el foco, pero una vez lo tiene, aunque pulses ENTER o lo que sea, el evento lo pilla el ToolBar, no el botón

Siento no poderte ayudar mucho más.

Saludos

Sagma

  • Miembro MUY activo
  • ***
  • Mensajes: 390
  • Nacionalidad: bo
    • Ver Perfil
Re: Asignar Foco
« Respuesta #6 en: Martes 4 de Septiembre de 2007, 01:05 »
0
muchas gracias  :smartass:
Sagma