Créer un bouton at runtime [Résolu]

Messages postés
3251
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
16 octobre 2019
- - Dernière réponse :  Utilisateur anonyme - 18 mars 2011 à 20:56
Bonjour à tous

J'explique
j'ai 2 form form1 et form2
et je veux dans form1 créer un bouton qui doit
etre placer dans form2
donc j'ai fait ainsi
Private ttt As System.Windows.Forms.Button
ttt = New Button
        With ttt
            .Text = "tttt"
            .Visible = False
            .Left = 4
            .Top = 4
        End With
        Form2.Controls.Add(ttt)

le problème comment je vais écrire l'addresse
d'un évenement click par ex
AddHandler .MouseClick, AddressOf ?

ce n'est peut etre pas possible

merci d'avance
Afficher la suite 

1 réponse

Meilleure réponse
3
Merci
Salut ShayW,

Le plus simple est de rajouter une propriété à ta form2 :
    Property Bouton() As Button
        Get
            Return bt
        End Get
        Set(ByVal value As Button)
            bt = New Button
            bt = value
            Me.Controls.Add(bt)
        End Set
    End Property


et de déclarer bt dans l'entête de la classe de Form2 :
Dim WithEvents bt As Button


ainsi tu pourra écrire dans la classe Form2 ses gestionnaires d'événements.
ou bien les choisir dans l'ide comme pour n'importe quel composant (au dessus de la zone d'écriture du code).
    Private Sub bt_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bt.Click
        MessageBox.Show("coucou")
    End Sub


Il te restera à écrire ton code dans Form1 :
        Dim ttt = New Button
        With ttt
            .Text = "tttt"
            .Visible = True
            .Left = 4
            .Top = 4
        End With

        Dim MaForm2 As New Form2
        MaForm2.Bouton = ttt
        MaForm2.Show()

Il y a d'autres manières comme créer une classe clsBouton qui hérite de la classe Button standard etc...
A toi de voir si ceci te convient.
A bientôt

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 206 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme