Groupe de contrôles (Index en VB6) sur une Winform (.NET)
gilleshugues
Messages postés4Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 juin 2009
-
29 juin 2009 à 15:10
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
30 juin 2009 à 18:40
Bonjour ,
Je travaille sur un projet en C++/CLI (.NET) sous Visual C++ Express 2008 .
Je cherche l'équivalent de la propriété "Index" qu'on pouvait associer à un contrôle VB6 pour créer un groupe de contrôles .
Par exemple un groupe de labels dont on peut modifier le caption par une boucle en utilisant l'index :
For i = 1 To 10
Label[i].Caption = "Essai"
Next i
Je n'ai rien trouvé de tel dans VC++ , et qui soit également compatible avec l'éditeur graphique intégré .
Quelqu'un a une piste ? Merci
A voir également:
Groupe de contrôles (Index en VB6) sur une Winform (.NET)
gilleshugues
Messages postés4Date d'inscriptionmardi 22 novembre 2005StatutMembreDernière intervention30 juin 2009 30 juin 2009 à 12:03
Merci pour la réponse , c'est bien ce que j'en avais déduit , cette fonction (pourtant intéressante) n'existe pas en VC++ .NET .
Il faut donc soit travailler sur les ID des composants (ta méthode) , soit je pense créer les objets manuellement dans la Form (avec un array) :
// Déclaration du tableau
private array <Label^>^ Tableau ;
// Création du tableau , mais ça ne créé pas pour autant les éléments du tableau (pas facile à comprendre
// la première fois)
Tableau = gcnew array<Label^>(10);
for (int i=0;i<10;i++)
{
this->Tableau[i] = gcnew(Label());
this->Tableau[i]->Text = "coucou";
// autres propriétés (Location,Size ...)
}
L'inconvénient est qu'on doit le déclarer en dehors des lignes générées par le concepteur graphique sinon il ne fonctionne plus (enfin je pense) , et donc tout saisir à la main .
Voila ce que je penserait faire , est ce que ça pourrait fonctionner ? Je pense avoir un problème avec la propriété "Name" de chaque label (à moins que ça ne soit pas important ici pourvu qu'ils aient tous un nom différent ?)
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 30 juin 2009 à 18:40
Salut,
Les indexs de VB6 était trop simple. Fallait bien qu'il compliquent tout en VB.NET !
Autre solution pour t'en sortir, la Form a une propriété Controls qui revient à une collection des controls de la form.
Après tu peux regarder le type des controls ou mettre une valeur dans leurs propriété Tag pour définir des groupes.
(Attention, si un contrôle est placé dans un control de la form, il appartient uniquement à la collection Controls de son parent)