Problème pour afficher 1 SEUL item dans une listbox, ça marche avec plusieurs po

Résolu
littlekenny Messages postés 43 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 septembre 2009 - 5 juil. 2006 à 11:40
SneakyZEKE Messages postés 1 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 15 mars 2011 - 15 mars 2011 à 15:28
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

littlekenny Messages postés 43 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 septembre 2009
5 juil. 2006 à 17:27
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...
3
Utilisateur anonyme
5 juil. 2006 à 12:35
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>
0
littlekenny Messages postés 43 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 septembre 2009
5 juil. 2006 à 13:12
Déjà essayé mais sans succès.
0
littlekenny Messages postés 43 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 10 septembre 2009
5 juil. 2006 à 13:14
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


 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SneakyZEKE Messages postés 1 Date d'inscription mercredi 28 juin 2006 Statut Membre Dernière intervention 15 mars 2011
15 mars 2011 à 15:28
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" ?
0
Rejoignez-nous