Foros del Web » Programación para mayores de 30 ;) » .NET »

Accionar evento KeyPress en DataGrid

Estas en el tema de Accionar evento KeyPress en DataGrid en el foro de .NET en Foros del Web. Hola a tod@s, lo ke deseo hacer es accionar un evento KeyPress en un DataGrida, pero debe ser al momento de editar una celda en ...
  #1 (permalink)  
Antiguo 21/02/2005, 12:52
 
Fecha de Ingreso: febrero-2005
Mensajes: 7
Antigüedad: 19 años, 3 meses
Puntos: 0
Accionar evento KeyPress en DataGrid

Hola a tod@s, lo ke deseo hacer es accionar un evento KeyPress en un DataGrida, pero debe ser al momento de editar una celda en especial, ya que este evento (Private Sub MiDataGrid_KeyPress(...)) funciona cuando tiene el foco el DataGrid, y no cuando estoy editando dentro de una celda en especial.

Esperando alguna ayudita, me despido atte. Markos
  #2 (permalink)  
Antiguo 16/07/2008, 12:06
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Accionar evento KeyPress en DataGrid

Primero cabe aclarar los siguiente:
1) No soy un experto en el tema quizas ni si quiera un usuario intermedio.

2) Jamas estudie programacion (aprendo a los ponchazos, pero hay muchisimas cosas que no se

3) Soy bastante flojo (vago, perezoso, se entiende no?)

aclarado esto te digo lo siguiente.
* al usar DataGridView el evento keypress deja de funcionar si estamos editando una celda.
* no obstante podemos al editar una celda usar EditingControlShowing para el DGV y generar un handle para usarlo con el keypress.

--------------------------------------------------------------------------------------------------------
Entiendo que no soy muy claro, por eso te pongo el codigo que use yo y que me funciona bastante bien
--------------------------------------------------------------------------------------------------------
Código:
    Private Sub dataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
        Dim txtEdit As TextBox = e.Control
        RemoveHandler txtEdit.KeyPress, AddressOf txtEdit_Keypress
        AddHandler txtEdit.KeyPress, AddressOf txtEdit_Keypress
    End Sub

    Private Sub txtEdit_Keypress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
        If e.KeyChar = "." Then
            e.KeyChar = ","
        End If
    End Sub

PD: Entiendo que estoy reviviendo un post antiguo, pero al ser uno de los primeros que salen al buscar en google me parecio que valia la pena responder
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:22.