Collection "Controls" introuvable

[Résolu]
Signaler
Messages postés
14
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
16 juin 2005
-
Messages postés
14
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
16 juin 2005
-
bonjour,



la doc msdn me donne le code suivant :

form1.Controls.add(label1)

or je ne parviens pas à trouver Controls dans form1

et si je copie et colle l'exemple .net me signifie une erreur

alors fatigué de tourner en rond je viens chercher de l'aide merci

8 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Je maitrise pas trop .NET, mais apparement il faut que tu fasse :



Dim frm as form1

frm.Controls.add(frm.label1)

Mais je ne saurais pas t'expliquer pourquoi (dans quelques temps peut-etre si j'ai eu le temps de vraiment m'y mettre)



<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
3
Merci

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

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

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
arf...
en .net lorsque tu crées un formulaire, tu crées en réalité une classe qui hérite de System.Windows.Forms.Form.
Mais une classe ne peut pas être appelée comme ca, il faut l'instanciée.

C'est pour ca qu'il faut que tu crées un objet de type form1 (par exemple)

Dim f as new form1()
f.Controls.Add(label1)

f.Show()

Séb

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
3
Merci

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

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

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
Tu peux ajouter des controles au formulaire en cours. Mais il faut qu'il soit instancier.

Exemple :

Dim monLabel As New Label
monLabel.Text = "toto"
monLabel.Location = New Point(100,100)
Me.Controls.Add(monLabel)

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
3
Merci

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

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

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
dans le formulaire parent, tu as la propriété :

Me.OwnerForms

quoi contient tous les formulaires qui appartiennent à celui-ci.

Séb

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
3
Merci

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

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

Messages postés
14
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
16 juin 2005

oui ta solution fonctionne, mais elle m'oblige à repenser mon projet

je voulais utiliser f.Controls.add(label1) pour ajouter
dynamiquement des controls au formulaire en cours , suivant les
choix de l'utilisateur.

le fait de devoir créer un nouveau formulaire à chaque modification de la collection Controls

va être beaucoup plus lourd à gérer, notament pour conserver les valeurs déjà saisie dans les différents controls



j'ai un autre pb où peut être tu sauras m'aider :

pour lister les formulaires ouverts , avec vb6 j'utilisais Forms(i)

je n'arrive pas à trouver l'équivalent de cette collection en vb.net

merci pour tes lumières
Messages postés
14
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
16 juin 2005

merci c'est génial comment n'y ai j' pas pensé tout seul



pour la collection des formulaires ouverts tu as une idée
Messages postés
14
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
16 juin 2005

merci
Messages postés
14
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
16 juin 2005

voici me.ownerforms en exemple:

la première sub crée une form et l'ajout à la form qui contient le code

la seconde sub ferme toutes les form créées



private sub creer_Form()

dim frm as New Form1()

Me.AddOwnedForm(frm)

frm.Show()

end sub



private sub deconnecter()

dim f,nbf as integer

nbf = me.OwnerForms.GetLength(0)

dim forms(nbf) as Form



for f=0 to nbf-1

forms(f)=me.OwnerForms.GetValue(f)

next



for f=0 to nbf-1

forms(f).close()

next



'traitements....................



end sub