CRÉER UN GROUP DE CONTROL, COMME EN VB6

sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
14 février 2014
- 2 juin 2004 à 12:28
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
- 24 avril 2007 à 22:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23299-creer-un-group-de-control-comme-en-vb6

cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
24 avril 2007 à 22:04
l'idéal est quand même de les inséré dans un tableau et encore mieux dans un générique sous le framework 2.0 et +
JeremyNeReculeraPas
Messages postés
64
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
6 juin 2007

24 avril 2007 à 11:22
salut salut!
NoKurzTif autant que je sache, seul les controls sont indexés, donc ta méthode ne marche pas avec des objets, comme dans VB6, toujours étant ,merci beaucoup à ELWINGIL ,car sans indexage c'est pas très souple..++
NoKurzTif
Messages postés
2
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
13 novembre 2006

13 nov. 2006 à 20:43
Slt,
Je voulais dire 2 choses eu égard à ce que j'ai lu plus haut :
1_) les contrôles disposent d'index
2_) y'a pas de problèmes pour en masquer certains

En fait les contrôles disposent d'index qui sont initialisés à la création.
Le dernier contrôle créé a l'index zéro ! Il faut juste faire gaffe lors de la création et du placement des contrôles, mais ensuite, on peut utiliser une boucle for each.. Ouais, ça c'est vraiment chiant par rapport à VB6 !!!
Il est aussi possible de gérer en utilisant les propriétés des collections (en l'occurence, collection de contrôles !)

Voici à titre d'exemple un code qui affiche les vendredis de chaque mois :
Private Sub RefreshChoiseDate()
Dim i As Integer, j As Integer
Dim maxMonthCtrl As Integer = 6
Dim targetMonth As Byte = CByte(Month(TargetDate))
Dim tempoDate As Date
Dim firstDate As Date = DateAdd(DateInterval.Month, -maxMonthCtrl + 1, TargetDate)
Dim firstMonth As Integer = Month(firstDate)
Dim firstYear As Integer = Year(firstDate)
firstDate = DateAndTime.DateSerial(firstYear, firstMonth, 1)
firstDate = CDate(SearchFriday(firstDate))
i 0 : j -1
For Each ctrl As Control In gb1.Controls
tempoDate = DateAdd(DateInterval.Day, i * 7, firstDate)
i i + 1 : j j + 1
ctrl.Text = tempoDate.ToString("dd/MM")
If DateAndTime.Day(tempoDate) > 3 And (j Mod 5) 0 Then ctrl.Text "" : i = i - 1
If DateAndTime.Day(tempoDate) < 25 And (j Mod 5) 4 Then ctrl.Text "" : i = i - 1
If DateValue(CStr(tempoDate)) = DateValue(CStr(TargetDate)) Then ctrl.Select()
Next ctrl
For Each ctrl As Control In gb1.Controls
ctrl.Visible CBool(IIf(ctrl.Text "", False, True))
Next
Me.Refresh()
End Sub
blob73
Messages postés
55
Date d'inscription
dimanche 15 août 2004
Statut
Membre
Dernière intervention
20 juin 2005

6 oct. 2004 à 18:32
Bonjour,

pour commencer cette source et les commentaires associés sont tres bien Merci beaucoup.

je voudrais savoir queqleu chose.

sur un formulaire windows j'ai disont 10 listbox (+ ou - ca change rien mais prenons 10)

j'aimerais que losque je clique sur n'importe laquelle de ces listbox un formulaire apparaisse bon je sais que pour faire apparaitre le formulaire c'est : nomduformulaire.show la j'ai pas de probleme mais mon probleme ce situe dans le fait que je voudrais pour cela acceder a une instructioen de type:

private sub listbox_doubleclick(.....................)

nomduformulaire.show
end sub

hors si je construit comme indiqué plus haut j'accede a chacune des listbox par a l'ensembe

merci de votre aide
cs_dragon
Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
6
22 juil. 2004 à 23:35
c'est pareil, mais j'avou que maintenant, je fais pareil que elwingil, bien que des fois je fais comme ma source

ça dépend vraiment du code que je fais. je prend même les 2 desfois

par exemple, je me fabrique une structure qui contient pleins d,info et qui contient le lien vers le control qui est en tableau. Comme ça, je pert jamais mes control dans un environnement à 100% dynamique
Afficher les 19 commentaires