
manejador de evenyo keypress
Publicado por eduardo (3 intervenciones) el 31/05/2014 02:19:44
hola :
buscando encontre este codigo para que en una celda de un datagrd , al pulsar F4 pueda capturar el evento :
Como capturar el evento de una tecla sobre una celda de un DataGridView por ejemplo para abrir una pantalla de ayuda de datos para esa celda.
Declaramos
En el Evento Load del formulario declaramos un manejador de eventos:
Añadimos el evento a todas aquellas deldas de la rejilla que sean de tipo TextBox
Por último Capturamos el Evento:
segui todos los pasos al pie de la letra
pero pulso f4 y no se ejecuta el evento .
no se si tendra qeu ver qeu el datagrid lo lleno a partir de elegir un anio y un mes de la siguiente manera
o sea a partir de legir un mes y un año , genera 30 filas , una por cada dia del mes .
queria saber que estoy haciend omal . gracias
buscando encontre este codigo para que en una celda de un datagrd , al pulsar F4 pueda capturar el evento :
Como capturar el evento de una tecla sobre una celda de un DataGridView por ejemplo para abrir una pantalla de ayuda de datos para esa celda.
Declaramos
1
2
private KeyEventHandler Handler;
private TextBox textBoxCell;
En el Evento Load del formulario declaramos un manejador de eventos:
1
Handler = new KeyEventHandler(textBoxCell_KeyPress);
Añadimos el evento a todas aquellas deldas de la rejilla que sean de tipo TextBox
1
2
3
4
5
6
7
8
9
10
11
private void datagridview_1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
textBoxCell = e.Control as TextBox;
if (textBoxCell != null){
try{
textBoxCell.KeyDown -= Handler;
}
catch{ }
textBoxCell.KeyDown += Handler;
}
}
Por último Capturamos el Evento:
1
2
3
4
5
6
private void textBoxCell_KeyPress(object sender, KeyEventArgs e){
if (e.KeyCode == Keys.F4 ){
MessageBox.Show("keypress ");
}
segui todos los pasos al pie de la letra
pero pulso f4 y no se ejecuta el evento .
no se si tendra qeu ver qeu el datagrid lo lleno a partir de elegir un anio y un mes de la siguiente manera
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void InicializaGridView()
{
String lcFecha, lcFechaIncrementada;
DateTime ldDateTime;
lcFecha = cmbanio.Text.ToString().Trim() + cmbMeses.Text.ToString().Substring(0, 2) + "01";
int f;
for (f = 0; f <= 30; f++)
{
ldDateTime = loFunciones.TransformarFechaStringEnDate(lcFecha);
lcFechaIncrementada = loFunciones.SumaDiaADateTimeYDevuelveDiaEnString(ldDateTime, f);
dgvRecaudacion.Rows.Add(lcFechaIncrementada);
}
}
o sea a partir de legir un mes y un año , genera 30 filas , una por cada dia del mes .
queria saber que estoy haciend omal . gracias
Valora esta pregunta


0