Collection "Controls" introuvable

Résolu
fourtoo Messages postés 14 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 16 juin 2005 - 8 mars 2005 à 18:54
fourtoo Messages postés 14 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 16 juin 2005 - 11 mars 2005 à 23:13
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
8 mars 2005 à 19:24
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
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 mars 2005 à 19:28
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
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
9 mars 2005 à 11:16
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
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
9 mars 2005 à 11:31
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fourtoo Messages postés 14 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 16 juin 2005
9 mars 2005 à 11:12
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
0
fourtoo Messages postés 14 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 16 juin 2005
9 mars 2005 à 11:20
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
0
fourtoo Messages postés 14 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 16 juin 2005
9 mars 2005 à 11:45
merci
0
fourtoo Messages postés 14 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 16 juin 2005
11 mars 2005 à 23:13
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
0
Rejoignez-nous