Bonjour,
Actuellement je suis perdu en ce qui concerne la création dynamique d'événement et leur affectation à des contrôles eux aussi créés dynamiquement.
Permettez-moi donc de lister mes 3 principaux soucis.
(le langage utilisé est VB NET 2.0)
1/ Je parviens à créer dynamiquement plusieurs items MenuStrip au travers d'une boucle, et à les intégrer à un menu. Toutefois, je ne sais pas comment accéder à leurs événements comme Click, etc.
Comme ils sont créé pendant l'exécution, je ne sais pas comment les cibler ou agir sur eux.
Voilà, si quelqu'un sait comment accéder aux propriétés/méthodes d'un contrôle créé dynamiquement...
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 Private Sub maProcedure() For nbRes As Short = 0 To 2 Dim miRes As System.Windows.Forms.MenuItem = New System.Windows.Forms.MenuItem miRes.Text = nbRes .ToString miRes.Name = "tsmi" & nbRes .ToString tsmiResolution.DropDownItems.Add(miRes.Text) 'tsmiResolution est un item de sous-menu deja existant. '(le menu est un System.Windows.forms.MenuStrip ; je l'ai nommé menuPrincipal) Next End Sub #End Region
2/ Autre difficulté : affecter une méthode maFonction au contrôle dynamiquement créé. Voici le schéma du programme :
3/ Enfin, quelle(s) instruction(s) événementielle(s) faudrait-il utiliser pour déclencher l'application de la méthode maFonction() lorsque je clique sur un des 3 MenuItem dynamiquement créés ? (sachant que la méthode maFonction comporte un paramètre nécessaire ?)
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 Classe monFormulaire 'classe qui correspond au formulaire VB Inherits System.Windows.Forms Dim monTableau(2) As Integer Private Function maFonction(ByVal uneValeur As Integer) '[... ici, il s'agit de modification de l'affichage graphique, donc pas de retour de valeur. 'En revanche, la variable en paramètre uneValeur contient l'indice qui me permet de cibler une ligne de mon tableau] Return Nothing End Function Private Sub maProcedure() '[... la procédure remplit le tableau monTableau déclaré en début de classe] '[... c'est également ici que j'essaye d'affecter la méthode maFonction() 'à mon controle dynamiquement créé (le MenuItem mentionné précédemment), et que je ne sais pas comment faire] End Sub End class
Voilà, si vous avez des pistes ou des solutions à partager, je vous en serai très très reconnaissant ^^.
Partager