cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
24 avril 2012 à 23:32
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
26 avril 2012 à 00:17
Bonsoir tout le monde,
Je cree des controles dynamiquement dans une Sub: le bouton 'btnTest', le TextBox 'txtTest'... (declare dans cette Sub), btnTest utilise avec un AddHandler.
Quand je veux utiliser le code ci-dessous, cela ne marche pas.
Le texte "Panel1.txtTest" est souligne avec l'erreur suivante: "txtTest is not a member of System.Windows.Forms.Panel".
Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim fbdPicturesFolder As New FolderBrowserDialog
fbdFolder.RootFolder = Environment.SpecialFolder.Desktop
If fbdFolder.ShowDialog() = DialogResult.OK Then
Panel1.txtTest.text = fbdFolder.SelectedPath
End If
End Sub
Je crois comprendre le probleme (txtTest n'est pas encore cree, donc ne peut pas etre un membre de Panel1), mais je ne vois vraiment pas comment contourner ce probleme, tout en gardant mes controles dynamiques.
J'ai essaye de declarer txtTest en dehors de sa Sub, mais sans succes.
Existe-t-il un moyen de faire en gardant ces controles dynamiques ou bien dois-je attaquer le probleme differement?
Peut-etre que je fais trop complique???
NHenry
Messages postés15116Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 9 mai 2024159 24 avril 2012 à 23:50
Bonjour,
Il faut que tu utilises une variable/attribut.
Dim MonBouton As Button
Dans une Sub/Function :
MonBouton=New Button
Et pour l'utiliser :
MonBouton.*
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 20131 26 avril 2012 à 00:17
Bonsoir,
J'allais commencer mon message par: "Je ne crois pas que vous ayez bien compris mon probleme."
Et continuer par des explications compliquees.
En fait, en relisant plusieurs fois la breve reponse de NHenry, j'ai finalement tout compris.
Et merci bien, ca marche.
Merci a tous les deux de s'etre penche sur ce probleme.
Pour info, je suis content d'avoir compris ce point interessant sur les controles dynamiques.
MAIS, finalement, je n'ai pas besoin d'utiliser des controles dynamiques, car je peux tout creer en design. En fait, j'utilise pas mal les controles dynamiques en ce moment et j'ai tendance a les utiliser a toutes les sauces.