[C#][RESOLU]Problème d'affichage dans une comboBox

Problème d'affichage dans une comboBox [C#][RESOLU] - C#/.NET managed - Programmation

Marsh Posté le 07-06-2006 à 13:58:25    

Bonjour à tous,  
 
J'ai un "petit" souci : je suis en train de faire un petit soft avec une GUI en C#, avec notamment une comboBox. Pour précision, je développe sous Visual Studio .NET 2k3, ma machine tourne sous Win2k Pro.  
 
Le problème est le suivant : quand je déroule la comboBox, les éléments qui la composent n'aparaissent pas (il y a les "cases", mais pas le texte). Une fois sélectionné, par contre, le texte apparaît bien. Vu que la comboBox risque d'être remplie par une grosse vingtaine d'éléments, ça serait fort utile de voir les éléments avant de sélectionner... Comme j'ai deja pas mal cherchouillé sur la toile, MSDN & co, et que j'en ai parlé avec un "habitué" du C# (plus une heure de bidouillage de propriétés "pour voir si c'est pas ça" ) je me tourne vers vous.  
 
Merci d'avance !


Message édité par Sly9484 le 08-06-2006 à 14:55:16
Reply

Marsh Posté le 07-06-2006 à 13:58:25   

Reply

Marsh Posté le 07-06-2006 à 14:00:41    

poste ton code

Reply

Marsh Posté le 07-06-2006 à 14:04:09    

poste le code que tu utilises pour créer et peupler ta combobox stp, je sens bien un souci avec BeginUpdate et EndUpdate


Message édité par Harkonnen le 07-06-2006 à 14:04:38

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-06-2006 à 14:08:54    

Le code pour créer la combo box, c'est celui que m'a sorti Visual Studio :
 
this.comboBox1.Location = new System.Drawing.Point(8, 312);
   this.comboBox1.MaxDropDownItems = 15;
   this.comboBox1.Name = "comboBox1";
   this.comboBox1.Size = new System.Drawing.Size(232, 24);
   this.comboBox1.Sorted = true;
   this.comboBox1.TabIndex = 11;
   this.comboBox1.Text = "Sélectionnez...";
 
 
Pour peupler la box, j'utilise :
 
public void AddToMyComboBox()
  {
   
   comboBox1.BeginUpdate();    
   
   comboBox1.Items.Add(textBox3.Text);
   textBox3.Text="";
   
   comboBox1.EndUpdate();
 
J'ai essayé avec ou sans Begin/EndUpdate, j'ai essayé de forcer l'affichage, et j'ai essayé de peupler "à la main" dans Visual Studio (fenêtre de propriétés), et ça ne change rien...
 
EDIT : on me signale ailleurs que ça pourrait être un bug du FrameWork (je tourne sous 1.1) et qu'il faudrait ptet que j'installe la dernière version du FrameWork (2.0). Vu la ch*** que c'est de réinstaller un truc (contacter l'admin qui vient se logger sous son compte pour désinstaller/installer le nouveau truc etc..., c'est beau l'administration) j'hésite un poil... Si vous aviez un avis là dessus, ça serait cool. Merci d'avance !


Message édité par Sly9484 le 07-06-2006 à 14:27:48
Reply

Marsh Posté le 07-06-2006 à 15:35:58    

chez moi ça marche
tu peux dégager les xxxUpdate(), ça ne sert que si ton combo contient une palanquée d'items
par contre, rassure moi, ta fonction AddToMyComboBox là, tu l'appelles bien à un moment donné hein, elle est pas juste là pour faire joli ?
et pour vider une chaine de caractères, utilise plutot String.Empty, c'est plus propre que ""
 
edit: et ça m'étonnerait que ça vienne du 1.1, j'ai testé pas mal de programmes codés sous 1.1 avec des combos


Message édité par Harkonnen le 07-06-2006 à 15:36:39

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 07-06-2006 à 15:38:33    

+1 ca m'étonnerait que ca vienne du 1.1. Il contient des bugs, certes, mais pas aussi énormes.
 

Reply

Marsh Posté le 07-06-2006 à 19:55:42    

Les Update, je les ai rajouté plus tard, pour "voir si c'est pas ça", et comme dit plus haut, ça ne vient de toute façon pas de la fonction, puisque j'ai essayé de définir une collection dans la propriété Items AVANT compilation, et qu'à l'éxécution, ça me fait toujours la même chose...
 
@Harkonnen : les programmes que t'as testé, c'était sous WinXP? ou Win2k ?  
 
Je commence un peu à perdre patience sur cette histoire, sans être un dieu de la prog, j'ai maitrisé des trucs ultras plus compliqués en moins de temps, et sur ce coup là j'avais choisi C# pour pas me prendre la tête avec MFC et autres joyeusetés question GUI, c'est réussi :D

Reply

Marsh Posté le 07-06-2006 à 19:58:10    

Ta méthode AddToMyComboBox() tu l'apelles au moins ? non parce que sinon faut pas chercher plus loin ...

Reply

Marsh Posté le 07-06-2006 à 20:03:19    

t'as passé le debugger ?


---------------
Töp of the plöp
Reply

Marsh Posté le 07-06-2006 à 20:50:14    

TOUT passe, y'a rien de problématique, et oui, évidemment je l'appelle la méthode ^^

Reply

Marsh Posté le 07-06-2006 à 20:50:14   

Reply

Marsh Posté le 07-06-2006 à 21:27:32    

zippe moi et envoie moi ton projet
MP pour le mail


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 08-06-2006 à 10:01:23    

D'ac merci beaucoup :-)

Reply

Marsh Posté le 08-06-2006 à 11:31:11    

Bonbonbon, finalement, c'était effectivement un bon gros bug (qui vient d'où, je ne sais pas..). En installant le FW2.0, VC# Express 2k5, et sur Win2k SP3, la comboBox marche ENFIN normalement.
 
Merci à tous :)

Reply

Marsh Posté le 08-06-2006 à 11:41:11    

si tu vires le "text3.text = """, ça donne quoi ?
peut-être un problème de passage de référence au lieu d'un passage de valeur ? (??)

Reply

Marsh Posté le 08-06-2006 à 11:49:51    

@Arjuna : comme dit plus haut, j'ai un poil tout essayé pour voir, et de toute façon ça ne venait pas de la méthode d'ajout, puisque si une collection était préexistante (via l'outil d'ajout d'éléments), j'avais strictement le même bug d'affichage. De plus, une fois l'élément sélectionné, le texte s'affichait dans la comboBox "réenroulée". J'en déduis que Krosoft sort des produits qui marchent pour leur dernier OS, et que le reste, si ça marche vaguement ils sont contents, ça ira bien comme ça....
 
Enfin, après 48h de galère (sur un pauv' machin comme ça..), ça marche enfin correctement ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed