Astuces de recherche...
Home
- Accueil & nouveautés
- Les newsgroups VB
- Téléchargements
- L'équipe
- Nous contacter
- Liens
Rubriques
- Toutes les questions
- Affichage & graphismes
- Algorithmique
- API
- Base de registre
- Bases de données
- Contrôles
- Date & heure
- Déploiement
- Divers
- Erreurs & problèmes
- Fichiers & dossiers
- Généralités
- Impression
- Internet & mails
- Math
- Multimédia
- Réseaux
- Structures de données
- Texte & strings
- VB .Net
- VB Script
- VBA
- Windows

Question 88

Comment ajouter dynamiquement des contrôles sur un form ?

Voici une première solution employant comme méthode les contrôles indexés. Pour que cet exemple fonctionne vous devrez préalablement ajouter un contrôle d'index 0 à la feuille.

Dim i As Integer

For i = 1 To 5
    Load Command1(i)
    Command1(i).Top = Command1(i - 1).Top + Command1(i).Height
    Command1(i).Visible = True
Next

Une seconde solution consiste à ajouter vos nouveaux contrôles à la collection de contrôles de votre form. Pour récupérer les événements des contrôles ajoutés par la suite, vous devrez les déclarer dans la section générale à l'aide du mot-clé "WithEvents".

Option Explicit

Public WithEvents txtPassword As TextBox

Private Sub Form_Load()

    Set txtPassword = Me.Controls.Add("VB.TextBox", "txtPassword")
    txtPassword.Move 840, 840, 3015, 315
    txtPassword.Visible = True

End Sub

Private Sub txtPassword_Click()

    MsgBox "Vous m'avez cliqué ?", vbQuestion

End Sub

Cette seconde solution est expliquée plus en détail sur la MSDN:

Date de publication : 16 septembre 2002
Dernière modification : 16 septembre 2002
Rubriques : Contrôles, Généralités
Mots-clés : contrôles, ajouter, dynamiquement, index, WithEvents, Load