Problème pour afficher 1 SEUL item dans une listbox, ça marche avec plusieurs po [Résolu]

Signaler
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009
-
Messages postés
1
Date d'inscription
mercredi 28 juin 2006
Statut
Membre
Dernière intervention
15 mars 2011
-
J'ai créé une procédure pour afficher des éléments dans une listbox, cela marche parfaitement quand j'ai au moins deux éléments (ils sont visible dans la listbox), mais jamais pour un seul élément, il est TOUJOURS invisible.

En gros, je reprends les caractéristiques d'une farde, ce qui me permet de connaitre tous les fichiers qu'elle contient. Je rajoute ensuite tous ces fichiers dans une listbox appelée ProfileList.

<hr />Private Sub load_filesNames()
        If Directory.Exists("c:\my folder") Then
            Dim di As New DirectoryInfo("c:\my folder")
            ' Create an array representing the files in the current directory.
            Dim fi As FileInfo() = di.GetFiles()
            Dim fiTemp As FileInfo
            ProfileList.Items.Clear() 'clean the list
            ProfileList.BeginUpdate() 'add items, block the update of the listbox first
            For Each fiTemp In fi
                  ProfileList.Items.Add(fiTemp.ToString)
            Next fiTemp
            ProfileList.EndUpdate()
        End If
    End Sub
<hr />
La variable fiTemp contient bien quelque chose quand il n'y a qu'un élément et ProfileList.Items.Count = 1 aussi.

Je crois que cela est dû à un problème de rafraichissement de la listbox. J'ai pourtant essayé de faire ça avec les méthodes ProfileList.Refresh() et ProfileList.Update(), mais sans succès.

Quelqu'un a-t'il déjà le problème ? Merci d'avance pour vos réponses.

5 réponses

Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

J'ai passé une collection à la propriété datasource de ma listbox et ça fonctionne. Aucune idée pourquoi ça ne fonctionne pas par ajout direct...
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Salut,

Non, j'ai pas ce probléme, y'a bien un élément dans la liste
Esseye avec un ProfileList.Refresh()




Kenji






Merci de lire le 
règlement
 (vivement conseillé voir obligatoire)./P>
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

Déjà essayé mais sans succès.
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

Cela vient peut-être de mon filtrage de fichiers, je n'affiche que les liens d'images :

Private Sub load_pics(ByVal selectFirst As Boolean)
        If Directory.Exists(Application.StartupPath.Substring(0, 1) & ":\vbproject\cads" & currentfolderselected) Then
            Dim di As New DirectoryInfo(Application.StartupPath.Substring(0, 1) & ":\vbproject\cads" & currentfolderselected)
            ' Create an array representing the files in the current directory.
            Dim fi As FileInfo() = di.GetFiles()
            Dim fiTemp As FileInfo
            ProfileList.Items.Clear() 'clean the list
            ProfileList.BeginUpdate() 'add pics, block the update of the listbox first
            Dim extensionpath As String
            Dim tampon As String
            For Each fiTemp In fi
                extensionpath = fiTemp.ToString
                tampon &= extensionpath & vbNewLine
                extensionpath = Mid(extensionpath, extensionpath.LastIndexOf(".") + 2, 3)                If (extensionpath "gif" Or extensionpath "bmp" Or extensionpath = "jpg" _                Or extensionpath "GIF" Or extensionpath "BMP" Or extensionpath = "JPG") Then ProfileList.Items.Add(fiTemp.ToString)
            Next fiTemp
            ProfileList.EndUpdate()

            Console.Write(vbNewLine & tampon & ProfileList.Items.Count)

            If ProfileList.Items.Count > 0 And selectFirst Then ProfileList.SetSelected(0, True) 'if selectFirst then, select first item of the listbox
        End If
    End Sub


 
Messages postés
1
Date d'inscription
mercredi 28 juin 2006
Statut
Membre
Dernière intervention
15 mars 2011

Bonjour littlekenny,

je suis un peu néophyte et j'ai le même problème...peut-tu expliquer ce que tu entends par "passer une collection à la propriété datasource de ta listbox" ?