Limite de controle sur une form !!! heeeelp [Résolu]

Messages postés
86
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
13 septembre 2005
- - Dernière réponse : Yaume1
Messages postés
86
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
13 septembre 2005
- 12 août 2005 à 10:15
Bonjour tout le monde, j'ai encore un problème (mais un costaud là) !!! lol

j'ai atteint la limite des 100 contrôles (à priori) que l'on peut
mettre sur une form et il faut absolument que je puisse en mettre une
bonne quarantaine d'autres... j'ai regardé un peu ce qui se disait sur
le forum et à chaque fois, le conseil donné aux personnes en galère
était de créer dynamiquement les controles, mais ça, je n'ai pas
trouver comment faire. En fait, j'ai une fenêtre principal qui appelle
cette form "calcul" où j'ai plein de controles (par "calcul.show").
J'ai cru comprendre qu'on pouvait créer un controle (un bouton, un
textbox, une combobox ...etc... ) avec du code mais je ne sais pas
quelles fonction utiliser et je ne connais pas les syntaxes.



Si qqun pouvait m'aider avec des exemples ce serait royal (je sais j'en
demande beaucoup). Franchement j'ai bien essayé de réduire le nombre de
controles mais je vois pas comment faire mieux ! je suis en stage et
j'ai un problème assez compliqué de calcul et de dimensionnement de la
distribution d'un moteur de moto de compétition à faire... c'est pas
gagné ! lol



Merci d'avance à tous ceux qui auront une idée (même toute petite) !




C2


(Un stagiaire trop en galère !!!)
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
1822
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
3
Merci
Violent Ken

Il y a plus simple: tu peux indexer tes composants.
Exemple : Créé une nouvelle form. Pose un bouton, click droit sur ce bouton, copier, et colle dans la form. Il y aura un message du genre 'Command1 existe déjà, voulez vous créer un groupe de contrôles ?'. Dire oui.
Alors Command1 s'appelera Command1(0) et le nouveau bouton s'appelera Command1(1).
Et çà peut aller jusqu'à Command1(400) si tu veux (et encore plus !)

Ensuite, pour différencier les événements sur chaque contrôle, voilà comment procéder :
Exemple: click sur le bouton
D'habitude, il y a Command1_click() comme sub
Là il y aura Command1_click(Index as integer)

Et donc pour l'utilisation:
Private Sub Command1_Click(Index As Integer)


Select Case Index
Case 0
MsgBox "command1"

Case 1
MsgBox "command2"
End Select


End Sub

Dire « Merci » 3

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

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

Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
29
3
Merci
j'ajouterais à l'explication de Ken que tu peux soit les copier directement (donc creer tes .. "plus de 1000, testé" composants), soit ne créer que le premier, et ensuite, les générer au besoin :

Txt1(0) sur la form

For i = 1 to 9 '10 en tout
Load Txt1(i)
'ensuite tu le places, le rends visible, etc....
next i

et le code est celui de Ken ;)
PCPT

Dire « Merci » 3

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

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

Messages postés
86
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
13 septembre 2005
1
0
Merci
ya vraiment personne pour m'aider ????



:'(
Messages postés
73
Date d'inscription
lundi 23 octobre 2000
Statut
Membre
Dernière intervention
16 mars 2008
0
Merci
Je n'ai pas touché à mon vb depuis des lustres mais je ferai comme ça :


Prenons par exemple un label qu'on appelera myLabel.





'vb6 (souvenirs troubles)


Dim myControl as Control


Set myControl = Controls.Add(VB.Label, myLabel)


myControl.Visible = True


myControl.Caption = "Hello"


'Idem pour les autres propriétés





'vb.net (beaucoup plus frais que le précédant)


Dim myLabel As New Label


myLabel.Location = New Point(0, 0)


myLabel.Size = New Size(100, 100)


myLabel.Text = "Hello"


'Et ainsi de suite pour toutes les propriétés pour lesquelles tu ne veux pas la valeur par défaut.


Me.Controls.Add




Aller, bon courage pour ton projet !

Cécile
Messages postés
86
Date d'inscription
mercredi 27 juillet 2005
Statut
Membre
Dernière intervention
13 septembre 2005
1
0
Merci
merci tout le monde pour votre aide, c'est super cool, ça marche !



;)