Poner el foco en un control antes que salte ContextMenuStrip

27/07/2006 - 14:02 por Javier Garcia | Informe spam
Buenas, tengo varios controles que tienen el mismo control contexmenustrip,
y la idea es ver cual el lo despliega cuando se pulsa el boton del item, por
lo que he visto el sender no captura el control que despliega el contex, si
no el item que hace click, asi que por ahi no soy capaz de ver que control
lo despliega, mi otra idea es ver que control tiene el foco, pero al
desplegar no pone el foco en el control, lo he intentado con el evento
mouseclick, que al pulsar el boton secundario sobre los controles les ponga
al foco, pero no funciona, a alguien se le ocurre alguna idea de como puedo
hacerlo?? muchas gracias.
 

Leer las respuestas

#1 Luis Miguel Blanco
27/07/2006 - 14:22 | Informe spam
Hola Javier

Para averiguar qué control ha provocado el despliegue de un menú de
contexto, puedes utilizar la propiedad SourceControl de dicho menú, que
contiene una referencia al control que originó la apertura del menú. A
continuación tienes un pequeño ejemplo de uso:

//
if (this.mnuContexto.SourceControl == this.txtNombre)
{
this.txtNombre.Text = this.txtNombre.Text.ToUpper();
}
else
{
this.txtNombre.Text = this.txtNombre.Text.ToLower();
}
//

Espero que te sea de utilidad.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Javier Garcia" wrote:

Buenas, tengo varios controles que tienen el mismo control contexmenustrip,
y la idea es ver cual el lo despliega cuando se pulsa el boton del item, por
lo que he visto el sender no captura el control que despliega el contex, si
no el item que hace click, asi que por ahi no soy capaz de ver que control
lo despliega, mi otra idea es ver que control tiene el foco, pero al
desplegar no pone el foco en el control, lo he intentado con el evento
mouseclick, que al pulsar el boton secundario sobre los controles les ponga
al foco, pero no funciona, a alguien se le ocurre alguna idea de como puedo
hacerlo?? muchas gracias.



Preguntas similares