none
Sustituir un evento por otro personalizado RRS feed

  • Pregunta

  • Hola, requiero invalidar el evento click de un botón que se encuentra dentro del control Crystall Viewer y ponerle uno donde yo pueda controlar lo que haga, tengo el siguiente código:

    foreach (Control ctrl in CRV.Controls)
                {
                    //Buscar toolstrip del visor de informes
                    if (ctrl is ToolStrip)
                    {
                        ToolStrip ts = (ToolStrip)ctrl;
                        foreach (ToolStripItem tsi in ts.Items)
                        {
                            //Buscar el botón exportar por un ImageIndex
                            if (tsi is ToolStripButton && tsi.ImageIndex == 6)
                            {
                                ToolStripButton tsb = (ToolStripButton)tsi;
                                ts.Items.Remove(tsi);
                              
                                //Añadir el nuevo botón
                                ts.Items.Insert(0, tsb);
                                tsb.Click += new EventHandler(Imprimir_Click);
                                break;
                            }
                        }
                    }
                }

    Recorro los controles que se encuentran integrados en el control Crystall Viewer, encuentro el de impresión y lo clono, le agrero al evento click mi función personalizada llamada Imprimir_Click previamente elimino el botón de impresión que trae por defecto, cuando ejecuto mi código y darle click en imprimir, primero realiza la función original y luego hace lo que yo quiero, lo que deseo es invalidar el evento original.

    martes, 21 de octubre de 2014 21:45

Respuestas