IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Héritage et événements


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 66
    Par défaut Héritage et événements
    Bonjour à tous

    Je souhaiterais mettre en place une classe d'impression de base qui gèrerait l'impression de l'en-tête et pied de page.
    Cette classe devrait obligatoirement être héritée par une classe qui gèrerait le corps du document.

    Donc en gros je fais comme ceci :
    La classe de base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Public MustInherit Class PrintBase
        Protected _pd As New Printing.PrintDocument()
     
    Public Sub New()
            AddHandler _pd.PrintPage, AddressOf OnPrintPage
    End Sub
     
    Public Sub Print()
     
            With _pd
                'config impression
     
                If .PrinterSettings.IsValid Then .Print()
            End With
    End Sub
     
    Protected Sub OnPrintPage(ByVal sender As Object, ByVal ev As System.Drawing.Printing.PrintPageEventArgs)
    'Impression header et footer
    End Sub
     
    End Class
    La classe qui érite de la classe de base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Public Class PrintCorpsDuDoc
        Inherits PrintBase
     
        Public Sub New()
            MyBase.New()
        End Sub
     
        Private Shadows Sub OnPrintPage(ByVal sender As Object, ByVal ev As System.Drawing.Printing.PrintPageEventArgs)
            MyBase.OnPrintPage(sender, ev)
            'Impression du corps du message
        End Sub
     
    End Class
    Je voudrais donc que lorsque l'impression est demandée à partir de la classe PrintCorpsDuDoc, le programme passe par la fonction OnPrintPage de cette classe qui appelle le OnPrintPage de la classe de base.
    Possible ou pas ?

    Merci d'avance !

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Oui!
    Dans ton constructeur de PrintCorpsDuDoc il faut que tu abonnes ta classe fille à l'évenement de ta classe mère

Discussions similaires

  1. Héritage d'évènement javascript
    Par V1ce37 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/03/2015, 20h48
  2. Héritage d'événements event EventHandler
    Par stephane.julien dans le forum C#
    Réponses: 15
    Dernier message: 06/06/2008, 13h10
  3. Héritage d'un événement pour une classe fille
    Par korntex5 dans le forum Langage
    Réponses: 4
    Dernier message: 11/01/2006, 16h48
  4. Héritage d'événements
    Par Rampa dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 05/07/2005, 10h32
  5. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo