2010-08-27 4 views
0

Je souhaite créer une interface utilisateur qui utilise un contrôle onglet pour afficher plusieurs contrôles listview, un sur chaque page à onglet. Le nombre de pages à onglets/listviews est dynamique et pourrait atteindre environ 20. Les listviews sont en mode virtuel et sont peuplés à partir d'un objet (classe personnalisée) en mémoire.L'onglet Contrôle a besoin de plusieurs pages?

Il semble très inutile de créer 20 listes de lecture. Il me semble me rappeler que dans les jours VB4 le contrôle de tabulation n'avait qu'une seule page, et vous avez changé l'affichage vous-même dans le code. Y a-t-il un moyen de faire quelque chose de similaire avec VB.net (VS2008/Framework 2.0), c'est-à-dire afficher une listview et la repeupler en fonction de l'onglet cliqué par l'utilisateur? Quelque chose comme ceci:

Private Sub Tab_Click 
    listview.load(MyObject(TabClickedIndex)) 
End Sub 

Merci pour tout conseil.

+0

Vous pouvez toujours utiliser plusieurs contrôles de panneau dans la TabPage. Chaque panneau serait considéré comme une «page»/«sous-page» dans chaque onglet. –

Répondre

0

Les contrôles des onglets ne sont pas réellement créés tant que l'onglet n'est pas sélectionné, donc à moins que l'utilisateur ne veuille regarder cette liste, il n'utilisera pas de ressources. Et si l'utilisateur veut regarder toutes les listes sur toutes les pages à onglets, alors il voudra probablement aller et venir entre eux et donc je pensais qu'il serait plus rapide de montrer juste une liste déjà chargée que pour l'effacer et ensuite le re-peupler. J'aurais aussi pensé que le code serait plus clair si chaque liste ne pouvait avoir qu'un ensemble de données au lieu d'essayer de presser jusqu'à 20 sortes de listes différentes en une seule.

Donc, dans l'ensemble, à moins que vous ayez mesuré qu'il y a une sorte de problème de performance, je voudrais juste avoir une liste par page.

+0

Merci ho1. Il m'est apparu que le listview pourrait ne pas peupler assez vite pour donner une bonne expérience utilisateur. Je vais aller avec plusieurs tabPages/listviews et voir comment ça va. – Guy

Questions connexes