ItemHeight et Listbox

Moundir76 Messages postés 286 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 16 mai 2014 - 25 janv. 2012 à 14:22
 Utilisateur anonyme - 28 janv. 2012 à 11:38
Bonjour,

J'ai une ListBox qui est remplie automatiquement par une DataTable et un SqlDataAdapter
.

Je travaille sur VB.NET


Je souhaite que la taille de chaque info que j'affiche soit la même et que je puisse définir cette taille moi même.

Après plusieurs recherches et essais je n'y arrive pas :

 With listbox
            .Font = New Font("arial", 12, FontStyle.Bold)
            .SelectionMode = SelectionMode.One
            .Location = New Point(2, 50)
            .Width = 300
            .Height = 650
            .Sorted = True
            .Visible = False
            .DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed
            .ItemHeight = 52



Avec ce code et le DrawMode défini, je n'ai rien qui s'affiche dans ma listbox, juste une scrollbar et il n'y a rien à sélectionner...

Quelqu'un saurait me dire pourquoi ?

Cordialement
A voir également:

4 réponses

cs_ShayW Messages postés 3258 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 55
25 janv. 2012 à 15:37
Bonjour
tu as écrit
.visible = false
0
mdevaux62 Messages postés 111 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 17 novembre 2012 7
25 janv. 2012 à 15:43
1) perso j'appellerais pas une ListBox "Listbox" (mais lstMesElements par exemple)
2) ensuite .Visible=false rend la ListBocx invisible
3) enfin .Drawmode=DrawMode.OwnerDrawFixed oblige à traiter l'évènement ListBox.DrawItem
0
Moundir76 Messages postés 286 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 16 mai 2014
25 janv. 2012 à 16:09
Bonjour,

@ShawY : .visible=False c'est normal car elle passe en True a un moment précis du programme. ce n'est pas mon problème car elle s'affiche bien ^^

@mdevaux62 : Moi non plus je ne l'appelle pas comme celà, c'est juste pour l'exemple, pour le .Visible je l'ai expliqué au dessus. Cependant je ne comprends pas le ListBox.DrawItem j'ai déjà été voir sur le MSDN.

Concretement c'est possible de remplir avec une DataTable et un SqlDataAdapter tout en choisissant la taille souhaitée pour les items ?
0
Utilisateur anonyme
28 janv. 2012 à 11:38
Salut,

Pour le DrawItem, je le trouve très bien expliqué chez MSDN:
Si un élément est de taille variable (lorsque la propriété DrawMode a la valeur DrawMode.OwnerDrawVariable) l'événement MeasureItem est déclenché avant de dessiner un élément. Vous pouvez créer un gestionnaire d'événements pour l'événement MeasureItem afin de spécifier la taille de l'élément que vous allez dessiner dans votre gestionnaire d'événements pour l'événement DrawItem.

Sur CE LIEN

Mais je ne pense pas que ton problème est la, quand tu dis:
J'ai une ListBox qui est remplie automatiquement
tu le fais comment? tu lui attribues la valeur de "datasource" a celle de ton "DataTable"?
Tu le fais avant ou après ton bloc "With listbox"?


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0