cs_Maroxye
Messages postés177Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention16 octobre 2012
-
20 mai 2010 à 15:36
Steeve7 -
18 mars 2015 à 03:16
Bonjour à tous!
Et merci à l'avance de votre aide toujours si précieuse....
Pour une fille qui s'est mis à VB.net il y a moins d'un an(programmeure de Visual Basic pendant 10 ans), je dois avouer que je suis bien découragée de la question des combobox multi-colonnes...
1ere : il ne semble pas exister de combobox multi-colonnes avec les contrôles de bases de VB.net. J'ai dû ajouter le AxComboBox qui lui le permet.
2eme : Je ne trouve pas de façon d'agrandir la largeur de ma liste quand on l'ouvre de la même façon que Access le fait si bien...En résumé, la largeur de la liste est initialement de 100 et je veux que quand on l'ouvre, on puisse voir les 7 colonnes, que cette largeur passe à 800. Quand on la referme, elle devrait revenir à 100....
Pourquoi c'est si compliqué? Je m'y prend mal? Et s.v.p. ne me dites pas d'utiliser le combobox de base et de concaténer mes champs dans la requête(champ1 + ' ' +champ2), je veux que les colonnes soient délimités également et séparées par des barres...
Bonsoir,
A mon avis, il doit être possible de fabriquer ton propre contrôle.
Tu ajoute un UserControl a ton projet, dessus tu place un combobox traditionnel (qui ne contiendra rien) ainsi qu'une ListBox multicolones juste en dessous et avec sa propriété Visible a false.
Dans l'événement Clic du combobox tu fais apparaître ta ListBox (cet effet imitera une combobox multicolones).
Ceci reste une idée en tout cas.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 22 mai 2010 à 16:49
En effet il est très facile en .Net de créer des contrôles perso, en passant par le GDI on peut redessiner entièrement (ou presque) un contrôle comme un ListView, ComboBox, ListBox etc... et le faire hérité des propriété du contrôle de base.
Le problème c'est que la, Maroxye débute en .Net, ce n'est donc pas la solution.
Je pense qu'il faut que tu te serves d'autres contrôles, il faut que tu revois le design de ton formulaire pou procéder autrement (Exemple: pour une ligne avec ID, Nom, Prénom, Age dans ta base, tu peu décider de n'afficher que le nom dans le combo, et lors de la sélection dans celui-ci afficher les infos ailleurs, comme dans des labels par exemple).
La programmation Winform est très diférente de VBA comme tu peux t'en rendre compte.
Je te conseille de ne jamais passer par des Ax(sauf en cas d'extrême nécessité), et de n'utiliser toujours que des contrôles .Net cela facilite grandement le déploiement des application.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 20 mai 2010 à 18:55
Salut
Désolé pour .Net, j'ai moi aussi des galères avec dès que je tente qqchose, je passe mon temps dans l'aide pas toujours très directe et le boulot n'avance pas.
Bref, il semble que les ComboBox .Net ne supportent pas le colonnage tout comme celle de VB6 d'ailleurs, il n'y a que les "zones de liste modifiables" de Forms2 du VBA qui le propose.
Pour ce qui est de la liste proposée lors d'un DropDown, tu peux modifier la taille de la DropDownList avec les propriétés DropDownWidth et DropDownHeight
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Maroxye
Messages postés177Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention16 octobre 2012 22 mai 2010 à 19:23
Merci à banana etr Mayzz,
Je vais essayer tout ce que vous avez dit...Je comprend qu'à date, je n'ai vu que les problèmes que le .net m'apportait sans en voir encore les bénéfices...Question d'habitude vous me direz....Mayzz, un simple ajout à ce que tu dis : je veux que les colonnes soient montrées dans la liste avant que l'utilisateur porte son choix sur une ligne, c'est obligatoire...Ensuite, je vais effectivement montrer les colonnes qu'il a choisi dans des labels mais seulement après....
bonjour voici une réponse à votre fameuse question mais cela risque de décourager les amateurs de vb.net c'est le lien d'un tuto :
http://olsimare.developpez.com/articles/vbnet/combobox/multicolumncombobox/