[C# et CheckedListBox] ça rame à fond...

nerix27 Messages postés 86 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 21 juin 2007 - 4 oct. 2005 à 17:45
nerix27 Messages postés 86 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 21 juin 2007 - 10 oct. 2005 à 09:49
Bonjour à tous,
dans le cadre d'un projet, j'ai personnalisé un checkedlistbox afin qu'il ressemble au filtrage automatique d'Excel...

Le problème est que la checklistbox reçoit au maximum 1600 lignes pour une vingtaine de colonnes...
Deux problèmes en découlent : l'affichage de la checkedlistbox est vraiment longue, et le déplacement avec les scrollbars est saccadé...

J'ai mis plusieurs balises dans mon code pour voir ce qui prenait le plus de temps dans l'affichage de la checkedlistbox...Mais le remplissage en lui même est hyper rapide...
Ma fonction de remplissage se passe rapidement, et apparemment, mon prog attend que toutes les données soient dans la mémoire virtuelle pour pouvoir afficher la listbox...

Pour le ralentissement lors des déplacements, je pense que la puissance du poste sur le lequel on exécute le problème est capitale...Mais alors pourquoi un gros tableau sous Excel ne saccade pas ???

Quelqu'un pourrait m'éclairer sur le sujet ???

Merci d'avance...

3 réponses

taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
5 oct. 2005 à 09:05
Heu , difficile à dire , c'est un probleme de raffraichissement de l'affichage dans la checklisbox

Ce qui saccade, c'est en effet l'affichage des lignes et sur un pôste plus puissant, cela ira plus fvite , forcément.

Pourquoi c'est plus lent qu'un tableau excel? bonne question. Ton tableau excel est composé de cellule , comme une datagrid, alors une cheecklistbo est composée d'objet checkbox qui ont plus de données , et qui sont plus complexe à implémenter et gérer.

notons quand meme qu'il y a des problèmes avec cette checklisbox qui n'est pas la plus grand réussite du monde dans vs2003 et peut ete que tu auras de bonne surprise avec vs2005

In the mood for ... ba heu, for quelque chose qui est vachement bien ( oui je sais , n'importe quoi)
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
5 oct. 2005 à 09:06
Salut,



Ce qui est lent pour toi c'est l'affichage. Donc dis nous un peux
comment tu fais pour dessiner tous ça. Y a peut-être quelque chose
qu'on pourrait voir.



Question-Conseil : As tu mis le double buffer (SetStyle du Control que tu as crée)

Chris

N'oubliez pas de cloturer votre post.
0
nerix27 Messages postés 86 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 21 juin 2007 2
10 oct. 2005 à 09:49
Bonjour,
merci pour la piste du datagrid : je vais essayer de gérer mes données avec ceci pour voir si j'y gagne en fluidité...Et si j'y perd pas de trop en esthétique... :)

Vous donner un bout de code serait un peu difficile car la checkedlistbox est intégrée dans une bibliothèque de classe, cette dernière me permettant d'améliorer un peu la checkedlistbox en ajoutant des sortes de filtres comme dans Excel (filtres automatiques)...
Donc l'étude de la classe va vous ennuyer à mourir...

Je vais déjà essayer de voir pour un datagrid, et après je verrai...

Merci pour vos réponses...

A bientôt sur CSHARP.FR... :)
0
Rejoignez-nous