No coger el foco los controles.

10/11/2003 - 22:29 por Jose Antonio | Informe spam
Hay alguna forma de evitar que un control coja el foco sin terner que
deshabilitarlo?


Saludos

Preguntas similare

Leer las respuestas

#1 Jose Campos
11/11/2003 - 00:49 | Informe spam
Prueba asignando al evento Enter del control la siguiente función:


private void Control_Enter(object sender, System.EventArgs e)
{
if ( ((Control)sender).TabStop == false )
{
SendKeys.Send("{TAB}"); // tambien se puede dirigir el
foco a otro control
return;
}
}
Respuesta Responder a este mensaje
#2 Oscar Calvo
11/11/2003 - 21:41 | Informe spam
una pregunta,
por que pones el if del tabStop?
gracias

"Jose Campos" escribió en el mensaje
news:#3LjeV#
Prueba asignando al evento Enter del control la siguiente función:


private void Control_Enter(object sender, System.EventArgs e)
{
if ( ((Control)sender).TabStop == false )
{
SendKeys.Send("{TAB}"); // tambien se puede dirigir el
foco a otro control
return;
}
}


Respuesta Responder a este mensaje
#3 Jose Campos
12/11/2003 - 00:07 | Informe spam
Es una forma de especificar que controles son los que no tienen que coger el
foco. Otros ejemplos son:

if ( ((Control)sender).ReadOnly == true )


if ( ((Control)sender).Name == "txtControlSinFoco" )

Si no pusieramos nnguna condición, ningún control podría coger el foco y el
programa estaría indefinidamente pasandose el foco de un control a otro.

Espero haber aclarado tu duda.




"Oscar Calvo" escribió en el mensaje
news:
una pregunta,
por que pones el if del tabStop?
gracias

"Jose Campos" escribió en el mensaje
news:#3LjeV#
> Prueba asignando al evento Enter del control la siguiente función:
>
>
> private void Control_Enter(object sender, System.EventArgs e)
> {
> if ( ((Control)sender).TabStop == false )
> {
> SendKeys.Send("{TAB}"); // tambien se puede dirigir


el
> foco a otro control
> return;
> }
> }
>
>


Respuesta Responder a este mensaje
#4 Jose Antonio
14/11/2003 - 21:02 | Informe spam
Esta opcion no funciona bien si se realizan acciones en los eventos GotFocus
y LostFocus.


Saludos
"Jose Campos" escribió en el mensaje
news:%233LjeV%
Prueba asignando al evento Enter del control la siguiente función:


private void Control_Enter(object sender, System.EventArgs e)
{
if ( ((Control)sender).TabStop == false )
{
SendKeys.Send("{TAB}"); // tambien se puede dirigir el
foco a otro control
return;
}
}


Respuesta Responder a este mensaje
#5 Jose Campos
14/11/2003 - 23:20 | Informe spam
Pues no utilices los eventos GotFocus y LostFocus, usa en su lugar Enter y
Leave, mira lo que dice la ayuda de VS sobre estos eventos:

Los eventos del foco se producen en el siguiente orden:

1.. Enter
2.. GotFocus
3.. Leave
4.. Validating
5.. Validated
6.. LostFocus
Nota Los eventos GotFocus y LostFocus son eventos de foco de bajo nivel
asociados a los mensajes de Windows WM_KILLFOCUS y WM_SETFOCUS. Normalmente,
los eventos GotFocus y LostFocus sólo se utilizan al actualizar UICues. Los
eventos Enter y Leave deben utilizarse para todos los controles, a excepción
de la clase Form, que utiliza los eventos Activated y Deactivate.

PRECAUCIÓN No intente establecer el foco desde el controlador del evento
LostFocus. Esto puede dar lugar a que la aplicación o el sistema operativo
no respondan. Para obtener más información sobre el evento LostFocus, vea el
tema WM_KILLFOCUS en la sección Keyboard Input Reference, y el tema Message
Deadlocks en la sección Messages and Message Queues de la documentación de
Platform SDK en MSDN Library.
"Jose Antonio" escribió en el mensaje
news:
Esta opcion no funciona bien si se realizan acciones en los eventos


GotFocus
y LostFocus.


Saludos
"Jose Campos" escribió en el mensaje
news:%233LjeV%
> Prueba asignando al evento Enter del control la siguiente función:
>
>
> private void Control_Enter(object sender, System.EventArgs e)
> {
> if ( ((Control)sender).TabStop == false )
> {
> SendKeys.Send("{TAB}"); // tambien se puede dirigir


el
> foco a otro control
> return;
> }
> }
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida