Problème avec une ListView

Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
-
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
-
Bonjour, je suis butté sur un problème que je n'arrive pas à résoudre, même en faisant des recherches sur vbfrance et C#france ...

Donc en faite j'ai une ListView (Lv) , un TextBox (TxtBox), un RichTextBox (Txt) et enfin un Label (Lbl)

Donc dans ma "lv" je veux afficher les fichiers contenus dans le repertoire d'application puis afficher à l'aide de mon "lbl" le nombre de fichiers qui y sont, jusque là j'y suis arrivé et le code est :

    Private Sub OpenDir()
        Me.Lv.Items.Clear()
        Dim Filter As DirectoryInfo
        Dim FileName As FileInfo
        Dim FileCount As Integer
        Filter = New DirectoryInfo(Application.StartupPath)
        For Each FileName In Filter.GetFiles("*.txt")
              Me.Lv.Items.Add(IO.Path.GetFileNameWithoutExtension(FileName.FullName))
            FileCount = FileCount + 1
        Next
        Me.Lbl.Text = FileCount & " Notes"
    End Sub

Ensuite j'ai voulu créer un fichier .txt dans le repertoire de l'application avec le titre contenu dans la "TxtBox" ainsi que le texte contenu dans le "Txt", jy suis aussi arrivé et cela a donné :

    Private Sub CreateNote_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles CreateNote.Click
        Dim FileName As String = Me.TxtBox.Text
        Dim Txt As String = Me.Txt.Text
        Try
            File.CreateText(Application.StartupPath & "\" & FileName _
              & ".txt")
        Catch ex As Exception
            Exit Sub
        End Try
        Try
            File.WriteAllText(Application.StartupPath & "\" & _
              FileName & ".txt", Txt)
        Catch ex As Exception
            Exit Sub
        End Try
        Me.OpenDir()
    End Sub

Une fois que j'ai fait cela, impossible de trouver comment obtenir l'index de la liste contenu dans le "lv", et je voulais aussi savoir comment on pouvait récuperer le nom du fichier ainsi que le texte qu'il possede grace à une listview ???

Voila j'espère avoir assez bien expliqué mon problème. Merci d'avance, et je pense que je ne serais pas le seul à qui cela aidera :)

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
A priori, je dirais qu'il faut utiliser lv.FindItemWithText ou .FindNearestItem
Comme expliqué dans l'aide, cette méthode te permet de récupérer le lvItem associé :
   Dim item1 As ListViewItem = findListView.FindItemWithText("mon texte à chercher")
Ensuite, item1.Index devrait te répondre

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
2
Oui mais je ne trouve pas le moyen de sélectionner dans la listview, donc de récupérer le nom du fichier et donc par la suite le texte...
J'ai cela actuellement :
Me.TxtTitle.Text = Me.Lv.FocusedItem.Text
Mais le problème c'est que cela ne fonctionne que une seule fois et ensuite cela bug lorsque je click sur un second item