que tecla pulso

30/04/2005 - 00:07 por WILMAN RINCON | Informe spam
Tengo un problema, necesito saber cual tecla pulsaron
dentro de una celda de un datagrid, es decir necesito
controlar el evento KeyPress, dentro de una celda de un
datagrid, ya que el eveneto que trae este control no
funciona dentro de una celda.

si alguien tiene una idea le agredeceria si me puediera
ayudar

Preguntas similare

Leer las respuestas

#1 Angel J. Hernández M.
02/05/2005 - 07:49 | Informe spam
Esto podría ser de utilidad...

http://www.elguille.info/colabora/p...lizado.htm
http://ng.csharpfriends.com/top/ng/group~1/~41967~__Trapping-Enter-key-in-dataGrid-cell/index.aspx

Saludos,


Angel J. Hernández M.
MCP - MCAD - MCSD - MCDBA
http://groups.msn.com/desarrolladoresmiranda


"WILMAN RINCON" escribió en el mensaje
news:108001c54d07$e22ee0c0$
Tengo un problema, necesito saber cual tecla pulsaron
dentro de una celda de un datagrid, es decir necesito
controlar el evento KeyPress, dentro de una celda de un
datagrid, ya que el eveneto que trae este control no
funciona dentro de una celda.

si alguien tiene una idea le agredeceria si me puediera
ayudar
Respuesta Responder a este mensaje
#2 Steven Lewis
02/05/2005 - 08:07 | Informe spam
Hola

Puedes sobreescribir el evento ProcessDialogKey de la forma contenedora de
la grilla y procesar las pulsaciones de las teclas antes que lleguen a la
grilla. Para esto, y aparte de sobreescribir este método, debes establecer a
true la propiedad KeyPreview de la forma contenedora. De esta manera la
forma atrapa primero las teclas presionadas y ejecuta el método que has
sobreescrito previamente (ProcessDialogKey). Dentro de este método lees la
tecla y si no la quieres procesar, retornas el mensaje a la clase base para
que sea procesado por el objeto adecuado así:
return base.ProcessDialogKey(keyData);.

Cuando trates la tecla y no quieres que ocurra efectos en tu grilla,
retornas true;

Te adjunto un ejemplo de código que atrapa las pulsaciones para tener cuando
se presiona + o - para agregar los datos de la celda actual a in listBox o
para eliminarlos de ese listBox. He eliminado el código de tratamiento de la
data.

/// <summary>
/// Captura las teclas para utilizar el + y el - para manejar el listado
/// </summary>
/// <param name="keyData"></param>
/// <returns></returns>
protected override bool ProcessDialogKey(Keys keyData) {
switch (keyData){
case Keys.Add:
return true;
// break;
case Keys.Subtract:
return true;
// break;
default:
// Lo pasa a la clase base para su procesamiento normal
return base.ProcessDialogKey(keyData);
// break;
}
}

Espero te sirva

Saludos

Steven M. Lewis.


"WILMAN RINCON" escribió en el mensaje
news:108001c54d07$e22ee0c0$
Tengo un problema, necesito saber cual tecla pulsaron
dentro de una celda de un datagrid, es decir necesito
controlar el evento KeyPress, dentro de una celda de un
datagrid, ya que el eveneto que trae este control no
funciona dentro de una celda.

si alguien tiene una idea le agredeceria si me puediera
ayudar
Respuesta Responder a este mensaje
#3 wilman rincon
02/05/2005 - 21:33 | Informe spam
listo gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida