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 ?
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.