KeyDown en el DataGrid (Pregunta Dificil)

01/10/2004 - 16:59 por FcoNavarroB | Informe spam
Que tal a todos tengo una pregunta algo dificil por que hasta el momento no
encontrado como hacerlo, tengo un DataGrid con un Estilo y lo que quiero
hacer es que cuando este en algunas celdas y precionan la Tecla F2 o similiar
me habra una ventana de busquedas, el detalle es que ni el DataGrid ni la
Forma responden al KeyDow cuando estoy dentro de una celda y quiero saber
como le puedo hacer por que se que no es imposible... si la solucion es
cachar los mensajes de windows o por API's de Windows alguien me puede decir
como hacer esto..

De antemano muchas gracias por su tiempo

Preguntas similare

Leer las respuestas

#1 fernando
01/10/2004 - 17:23 | Informe spam
hola , hay un metodo que se llama "ProcessCmdKey" , que esta en los
reemplazos del form en donde tienes el grid. Este metodo intercepta los
mensajes antes que sean procesados. En el ejemplo pregunto si la tecla es
F2, tambien pregunto si la columna del grid es la que necesito , a
continuacion lo que tengas que hacer

Protected Overrides Function ProcessCmdKey(ByRef msg As
System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As
Boolean
If msg.WParam.ToInt32() = CInt(Keys.F2) Then' aca preguntas si la
tecla es F2, no te olvides de preguntar por la columna que necesitas
If datagrid.CurrentCell.ColumnNumber = 2 Then

' aqui adentro lo que necesites hacer, para que siga el programa
prueba con do.events

End If

End If

Return MyBase.ProcessCmdKey(msg, keyData)

Enf Function

Espero te sirva.

fernando


"FcoNavarroB" escribió en el mensaje
news:
Que tal a todos tengo una pregunta algo dificil por que hasta el momento


no
encontrado como hacerlo, tengo un DataGrid con un Estilo y lo que quiero
hacer es que cuando este en algunas celdas y precionan la Tecla F2 o


similiar
me habra una ventana de busquedas, el detalle es que ni el DataGrid ni la
Forma responden al KeyDow cuando estoy dentro de una celda y quiero saber
como le puedo hacer por que se que no es imposible... si la solucion es
cachar los mensajes de windows o por API's de Windows alguien me puede


decir
como hacer esto..

De antemano muchas gracias por su tiempo
Respuesta Responder a este mensaje
#2 Enriuqe Chavez
01/10/2004 - 18:25 | Informe spam
Holoa FcoNavarroB
No se si esto funcione pero porque no intentas caputar la tecla desde el
formulario

en el evento keydown del form

Saludos

"FcoNavarroB" escribió en el mensaje
news:
Que tal a todos tengo una pregunta algo dificil por que hasta el momento
no
encontrado como hacerlo, tengo un DataGrid con un Estilo y lo que quiero
hacer es que cuando este en algunas celdas y precionan la Tecla F2 o
similiar
me habra una ventana de busquedas, el detalle es que ni el DataGrid ni la
Forma responden al KeyDow cuando estoy dentro de una celda y quiero saber
como le puedo hacer por que se que no es imposible... si la solucion es
cachar los mensajes de windows o por API's de Windows alguien me puede
decir
como hacer esto..

De antemano muchas gracias por su tiempo
Respuesta Responder a este mensaje
#3 FcoNavarroB
01/10/2004 - 19:21 | Informe spam
Enri que tal gracias por el consejo aunque realmente eso si lo avia intentado
y no funciono pero el codigo que puso Fernando es bueno gracias de todos modos

"Enriuqe Chavez" wrote:

Holoa FcoNavarroB
No se si esto funcione pero porque no intentas caputar la tecla desde el
formulario

en el evento keydown del form

Saludos

"FcoNavarroB" escribió en el mensaje
news:
> Que tal a todos tengo una pregunta algo dificil por que hasta el momento
> no
> encontrado como hacerlo, tengo un DataGrid con un Estilo y lo que quiero
> hacer es que cuando este en algunas celdas y precionan la Tecla F2 o
> similiar
> me habra una ventana de busquedas, el detalle es que ni el DataGrid ni la
> Forma responden al KeyDow cuando estoy dentro de una celda y quiero saber
> como le puedo hacer por que se que no es imposible... si la solucion es
> cachar los mensajes de windows o por API's de Windows alguien me puede
> decir
> como hacer esto..
>
> De antemano muchas gracias por su tiempo



Respuesta Responder a este mensaje
#4 FcoNavarroB
01/10/2004 - 19:21 | Informe spam
Muchisimas Gracias Fernando si me sirvio el codigo :D

"fernando" wrote:

hola , hay un metodo que se llama "ProcessCmdKey" , que esta en los
reemplazos del form en donde tienes el grid. Este metodo intercepta los
mensajes antes que sean procesados. En el ejemplo pregunto si la tecla es
F2, tambien pregunto si la columna del grid es la que necesito , a
continuacion lo que tengas que hacer

Protected Overrides Function ProcessCmdKey(ByRef msg As
System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As
Boolean
If msg.WParam.ToInt32() = CInt(Keys.F2) Then' aca preguntas si la
tecla es F2, no te olvides de preguntar por la columna que necesitas
If datagrid.CurrentCell.ColumnNumber = 2 Then

' aqui adentro lo que necesites hacer, para que siga el programa
prueba con do.events

End If

End If

Return MyBase.ProcessCmdKey(msg, keyData)

Enf Function

Espero te sirva.

fernando


"FcoNavarroB" escribió en el mensaje
news:
> Que tal a todos tengo una pregunta algo dificil por que hasta el momento
no
> encontrado como hacerlo, tengo un DataGrid con un Estilo y lo que quiero
> hacer es que cuando este en algunas celdas y precionan la Tecla F2 o
similiar
> me habra una ventana de busquedas, el detalle es que ni el DataGrid ni la
> Forma responden al KeyDow cuando estoy dentro de una celda y quiero saber
> como le puedo hacer por que se que no es imposible... si la solucion es
> cachar los mensajes de windows o por API's de Windows alguien me puede
decir
> como hacer esto..
>
> De antemano muchas gracias por su tiempo



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida