formularios heredados

09/04/2004 - 10:00 por Félix González | Informe spam
Hola,

Estoy empezando en esto, He creado un fomulario heredado a partir de otro.
En un boton del formulario padre me he añadido código para que muestre un
mensaje y en el mismo botón del hijo muestrom otro mensaje. Cuando le
ejecuto su muestra primero el mensaje del padre y luego el del hijo. si
defino el metodo del padre como virtual y el hijo como override se muestra
el mesaje del hijo, pero dos veces ¿por qué ocurre esto? como puede hacer
que el código del padre no se ejecute o se ejecute cuando yo lo necesite con
una llamada a base.metodo?


gracias

Preguntas similare

Leer las respuestas

#1 A.Poblacion
09/04/2004 - 10:24 | Informe spam
Si te vas al "código generado por el diseñador", verás que el IDE ha
conectado dos veces tu método al evento del botón: una vez en el formulario
padre y otra vez en el hijo. Por eso se dispara dos veces. Cuando haces el
"overide" las dos veces llaman al mismo método a causa del polimorfismo:
cuando se invoca el método del padre, automáticamente se ejecuta la versión
más heredada, que resulta ser la del hijo.
El remedio es que en el formulario hijo hagas SOLO el override, sin conectar
además la rutina al evento del botón. Si ya la tienes conectada, puedes
desconectarla borrando la línea que la conecta con un "+=" en el "código
generado por el diseñador", o bien borrar el nombre de la rutina en la
ventanita de eventos en la parte de diseño gráfico del formulario hijo.


"Félix González" <felixgmartin(sobra esto)@terra.es> wrote in message
news:
Hola,

Estoy empezando en esto, He creado un fomulario heredado a partir de otro.
En un boton del formulario padre me he añadido código para que muestre un
mensaje y en el mismo botón del hijo muestrom otro mensaje. Cuando le
ejecuto su muestra primero el mensaje del padre y luego el del hijo. si
defino el metodo del padre como virtual y el hijo como override se muestra
el mesaje del hijo, pero dos veces ¿por qué ocurre esto? como puede hacer
que el código del padre no se ejecute o se ejecute cuando yo lo necesite


con
una llamada a base.metodo?


gracias


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