Partial Class avec suivi des evenements ?

Signaler
Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
-
Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
-
Bonsoir

Dans mon fichier Accueil.vb.
Mon objectif c'est de lier une class partial de la class Accueil, facile sauf que le hic se produit lorsque le nom de class est différent.

Voici le code classique et fonctionnel:
( Le Me, le Handle Button, tout est lié ! )
Public Class Accueil
    Private Sub Accueil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

End Class

Partial Class Accueil
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show(Me.Button1.Name)
    End Sub
End Class


Voila un code ou le bouton n'est pas associé à la class Accueil:
Public Class Accueil

    Private Sub Accueil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

End Class

Partial Class MesBoutons
    Inherits Accueil
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show(Me.Button1.Name)
    End Sub
End Class


Voici ce dont je rêve:
Public Class Accueil

    Private Sub Accueil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

End Class


Public Class MesBoutons
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show(Me.Button1.Name)
    End Sub
End Class


Dans le premier code, je trouve la procédure pratique mais le référencement est pas assez clair. Si je souhaite gérer 4 onglets avec 4 panels de boutons.. bah je verrais:
ACCUEIL ACCUEIL ACCUEIL ACCUEIL ACCUEIL

Dans le deuxième code, je suis obligé de faire un Inherits pour faire reconnaître les objets et événements. (ça me semble lourd à exécuter). Et surtout, ça ne fonctionne pas.

Dans le troisième code, je fait comprendre au compilateur que la class Accueil est lié à une partial class MAIS d'un nom différent (c'est tout )

La question:
Existe t'il une méthode simple, rapide et légère pour rendre ma deuxième class fusionnelle de la première ?

1 réponse

Messages postés
550
Date d'inscription
jeudi 12 octobre 2006
Statut
Membre
Dernière intervention
6 juin 2015
4
J'ai pas trouvé alors ...
J'exploite le balisage avec #Region.
Pour la fonctionnalité j'exploiterais une Class avec plusieurs Namespace...

Accueil.vb
Public Class Accueil

    Private Sub Accueil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

#Region " Evenements MesBoutons "
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show(Me.Button1.Name)
    End Sub
#End Region
End Class


Classe.Accueil.vb
Namespace MesBoutons
    Public Class Panel1
    End Class
    Public Class Panel2
    End Class
    '...
End Namespace

Namespace MesImages
    '...
End Namespace


Bah ouai
Personne ne sais cloner le handle des messages de la Class d'un Formulaire principal.