InvalidArgument=La valeur '0' n'est pas valide pour 'index' dans listview

guice11 Messages postés 52 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 17 décembre 2009 - 9 sept. 2009 à 21:45
guice11 Messages postés 52 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 17 décembre 2009 - 12 sept. 2009 à 22:12
J'ai créer une listview qu'est alimenté de cinq ligne et 2 colonnes grace à un bouton. Je peux sélectionner une ligne afin d'obtenir l'index sélectionner mais quand je sélectionne une autre ligne, j'ai l'erreur suivante :

InvalidArgument=La valeur '0' n'est pas valide pour 'index'.
Nom du paramètre : index

    Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
        Dim index As Integer
        index = Me.ListView1.SelectedIndices(0)
        MessageBox.Show(index)
        Me.Cursor = Cursors.Default
    End Sub


    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Dim Value1 As String = "coucou"
        For i As Short = 0 To 5
            Dim item1 As New ListViewItem(i + 1)
            item1.SubItems.Add(Value1)
            Me.ListView1.Items.AddRange(New ListViewItem() {item1})
        Next
    End Sub


Voilà & merci de votre aide précieuse.

8 réponses

cs_Ayr Messages postés 221 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 décembre 2009 2
10 sept. 2009 à 00:34
Salut,

alors, voilà le problème:

L'évènement SelectedIndexChanged est déclanché chaque fois que la sélection change.

Quand tu click sur un élément de la liste, la propriété SelectedIndices te renvois
une collection d'index sélectionnés (car tu peux, si tu le choisi, en sélectionner
plusieur) et toi tu récupère le premier index de la collection (SelectedIndices(0))

Quand tu click la première fois l'évènement s'active et tu récupère une collection
avec 1 index. Quand tu click sur un autre item, l'évènement se déclenche d'abord car
l'item précédent à été deselectionné (donc la sélection à changé) et tu obtient
une collection sans aucun index et c'est là que ça plante.

S'il en avait eu le temps, l'évènement se serai ensuite encore déclanché pour te renvoyer
le nouvel index sélectionné. Mais il n'à pas pu puisque ça a planté.

Alors, comment lui en donner le temps ? En évitant qe ça plante.

Soit comme ça:
Dim index As Integer
If Me.ListView1.SelectedIndices.Count <> 0 Then
    index = Me.ListView1.SelectedIndices(0)
    MessageBox.Show(index.tostring)
End If

Soit comme ça:
Try
    Dim index As Integer
    index = Me.ListView1.SelectedIndices(0)
    MessageBox.Show(index.tostring)
  Catch ex As Exception

End Try
0
guice11 Messages postés 52 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 17 décembre 2009
10 sept. 2009 à 09:16
ok merci [^^clinoeil1]

Mais maintenant je veux que cette procédure s'applique à du "regex", mais toujours le même problème sinon ca marchais ta procédure mais là le problème persiste apparement [^^mad2].

Voici le code :
[code=vb]Private Sub ListViewAlbums_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListViewAlbums.SelectedIndexChanged
RechercheIndex()

Try
Dim index2 As Integer
index2 = Me.ListViewAlbums.SelectedIndices(0)
MessageBox.Show(index2.ToString)
Catch ex As Exception

End Try



Try
Me.Cursor = Cursors.WaitCursor
'je récupère le titre sélectionné + l'url du titre
Dim result As String
result = Me.RtHtmlData2.Text

Dim Pattern As String
Pattern = "(.*)"
MessageBox.Show(Pattern)
Dim rx As New Text.RegularExpressions.Regex(Pattern, RegexOptions.IgnoreCase)
MessageBox.Show(rx.ToString)

Dim matches As MatchCollection = rx.Matches(result)
MessageBox.Show(matches.ToString)

Dim index As Integer

If ListViewAlbums.SelectedItems.Count 0 Then
MessageBox.Show(Me.ListViewAlbums.SelectedItems(0).SubItems(1).Text)
End If


index = Me.ListViewAlbums.SelectedIndices(0)
MessageBox.Show(index)

Dim WorkingUrl As String
WorkingUrl = matches(index).ToString
MessageBox.Show(WorkingUrl)

Dim Pattern1 As String
Pattern1 = "/serie-[0-9]*-BD-[a-zA-Z0-9-'_,çœ\(+\)+\\+\/+\&+\x9C+]*.html#[0-9]*"
Dim rx1 As New Text.RegularExpressions.Regex(Pattern1, RegexOptions.IgnoreCase)

Dim match As Match = rx1.Match(WorkingUrl)
MessageBox.Show(match.ToString)

Dim MaRegex As New System.Text.RegularExpressions.Regex("")
Dim Value1 As String
Value1 = System.Text.RegularExpressions.Regex.Replace(matches(index).Value, "(]+>)", "")
Value1 = System.Text.RegularExpressions.Regex.Replace(Value1, "\x9C", "œ")
Me.LabelTitreGrand.Text = Value1
Titre = Value1

Dim album As String = match.ToString
album = album.Replace("serie", "album")
MessageBox.Show(album)

Dim MotHtml As Integer = InStr(album, "html")
MessageBox.Show(MotHtml)

Dim ReperageID As String = Mid(album, MotHtml + 5)
MessageBox.Show(ReperageID)

Dim TitreUrl As String
TitreUrl = System.Text.RegularExpressions.Regex.Replace(WorkingUrl, "(]+>)", "")
TitreUrl = System.Text.RegularExpressions.Regex.Replace(TitreUrl, "\x9C", "œ")
MessageBox.Show(TitreUrl)

Dim TitreUrlTiretEnlever As String
TitreUrlTiretEnlever = TitreUrl.Replace("-", " ")
MessageBox.Show(TitreUrlTiretEnlever)

Dim TitreUrlVirguleEnlever As String
TitreUrlVirguleEnlever = TitreUrlTiretEnlever.Replace(",", "")
MessageBox.Show(TitreUrlVirguleEnlever)

Dim TitreUrlTiretAjouter As String
TitreUrlTiretAjouter = TitreUrlVirguleEnlever.Replace(" ", "-")
MessageBox.Show(TitreUrlTiretAjouter)

Dim TitreUrlApostrophe As String
TitreUrlApostrophe = TitreUrlTiretAjouter.Replace("'", "-")
MessageBox.Show(TitreUrlApostrophe)

Dim TitreUrlTroisPoints As String
TitreUrlTroisPoints = TitreUrlApostrophe.Replace("...", "")
MessageBox.Show(TitreUrlTroisPoints)

Dim TitreUrlPointInterrogation As String
TitreUrlPointInterrogation = TitreUrlTroisPoints.Replace("-?", "")
MessageBox.Show(TitreUrlPointInterrogation)

Dim TitreUrlPointExclamation As String
TitreUrlPointExclamation = TitreUrlPointInterrogation.Replace("-!", "")
MessageBox.Show(TitreUrlPointExclamation)

Dim TitreUrlFini As String = (sansAccents(TitreUrlPointExclamation))
MessageBox.Show((sansAccents(TitreUrlFini)))

Dim SuiteUrl As String
SuiteUrl = "/album-" & ReperageID & "-BD-" & TitreUrlFini & ".html"

'je me connecte à l'url du titre sélectionné
Try
Dim url As String = "http://www.bedetheque.com" & SuiteUrl.ToString
Dim request As WebRequest = WebRequest.Create(url)

Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
Dim dataStream As Stream = response.GetResponseStream()
Dim respEncoding As Encoding = Encoding.GetEncoding(response.CharacterSet)
Dim reader As New StreamReader(dataStream, respEncoding)


Dim HtmlData As String = reader.ReadToEnd()
Me.RtHtmlData3.Text = HtmlData
reader.Close()
dataStream.Close()
response.Close()
Me.LbUrlAlbum.Visible = False
Me.LbUrlAlbum.Text = url

'je récupère le titre original
Dim PatternTitre As String
PatternTitre = "(.+?)"
Dim rxTitre As New Text.RegularExpressions.Regex(PatternTitre, RegexOptions.IgnoreCase)
Dim matchTitre As Match = rxTitre.Match(HtmlData)
Dim MaRegexTitre As New System.Text.RegularExpressions.Regex("")
Dim ValueTitre As String
ValueTitre = System.Text.RegularExpressions.Regex.Replace(matchTitre.Value, "(]+>)", "")
ValueTitre = System.Text.RegularExpressions.Regex.Replace(ValueTitre, "\x9C", "œ")
ValueTitre = System.Text.RegularExpressions.Regex.Replace(ValueTitre, "\x2B", "+")
ValueTitre = ValueTitre.Replace(". ", "")
If ValueTitre = "" Then
Me.LabelTitre.Text = Titre
Else
Me.LabelTitre.Text = ValueTitre
End If

'je récupères le numéro
Dim PatternNumero As String
PatternNumero = "(.*)"
Dim rxNumero As New Text.RegularExpressions.Regex(PatternNumero, RegexOptions.IgnoreCase)
Dim matchNumero As Match = rxNumero.Match(HtmlData)
CompteurNumero = 1
If matchNumero.ToString = "" Then
CompteurNumero = 2
Dim PatternNumero2 As String
PatternNumero2 = "(.+)(.+?)"
Dim rxNumero2 As New Text.RegularExpressions.Regex(PatternNumero2, RegexOptions.IgnoreCase)
MessageBox.Show(rxNumero2.ToString)
matchNumero = rxNumero2.Match(HtmlData)
MessageBox.Show(matchNumero.ToString)
If matchNumero.ToString = "" Then
CompteurNumero = 3
Dim PatternNumero3 As String
PatternNumero3 = "(.*)(.+?)"
Dim rxNumero3 As New Text.RegularExpressions.Regex(PatternNumero3, RegexOptions.IgnoreCase)
MessageBox.Show(rxNumero3.ToString)
matchNumero = rxNumero3.Match(HtmlData)
MessageBox.Show(matchNumero.ToString)
End If
End If
Dim MaRegexNumero As New System.Text.RegularExpressions.Regex("")
Dim ValueNumero As String
ValueNumero = System.Text.RegularExpressions.Regex.Replace(matchNumero.Value, "(]+>)", "")
If ValueNumero = "" Then
Me.LabelNumero.Text = ValueNumero & "."
Else
Me.LabelNumero.Text = ValueNumero & "."
End If

Dim PatternTitreEtNumero As String
PatternTitreEtNumero = "(.+?)(.+?)"
Dim rxTitreEtNumero As New Text.RegularExpressions.Regex(PatternTitreEtNumero, RegexOptions.IgnoreCase)
Dim matchTitreEtNumero As Match = rxTitreEtNumero.Match(HtmlData)
If matchTitreEtNumero.ToString = "" Then
Dim PatternTitreEtNumero2 As String
PatternTitreEtNumero2 = "(.*)(.+?)(.+?)"
Dim rxTitreEtNumero2 As New Text.RegularExpressions.Regex(PatternTitreEtNumero2, RegexOptions.IgnoreCase)
MessageBox.Show(rxTitreEtNumero2.ToString)
matchTitreEtNumero = rxTitreEtNumero2.Match(HtmlData)
MessageBox.Show(matchTitreEtNumero.ToString)
End If
Dim MaRegexTitreEtNumero As New System.Text.RegularExpressions.Regex("")
Dim ValueTitreEtNumero As String
ValueTitreEtNumero = System.Text.RegularExpressions.Regex.Replace(matchTitreEtNumero.Value, "(]+>)", "")
ValueTitreEtNumero = System.Text.RegularExpressions.Regex.Replace(ValueTitreEtNumero, "\x9C", "œ")
ValueTitreEtNumero = System.Text.RegularExpressions.Regex.Replace(ValueTitreEtNumero, "\x2B", "+")
ValueTitreEtNumero = ValueTitreEtNumero.Replace("quot;", """")
If ValueTitreEtNumero = "" Then
Me.LabelTitreNumero.Text = ""
Else
Me.LabelTitreNumero.Text = ValueTitreEtNumero
End If



Dim PatternScenario As String
PatternScenario = "Scénario :(.+?)"
Dim rxScenario As New Text.RegularExpressions.Regex(PatternScenario, RegexOptions.IgnoreCase)
Dim matchScenario As Match = rxScenario.Match(HtmlData)
Dim MaRegexScenario As New System.Text.RegularExpressions.Regex("")
Dim ValueScenario As String
ValueScenario = System.Text.RegularExpressions.Regex.Replace(matchScenario.Value, "(]+>)", "")
ValueScenario = ValueScenario.Replace("Scénario :", "")
ValueScenario = ValueScenario.Replace("lt;", "")
If ValueScenario = "" Then
Me.LabelScenario.Text = ""
Else
Me.LabelScenario.Text = ValueScenario
End If

Dim VirguleScenario As Integer = InStr(LabelScenario.Text, ",")
Dim SigneSuperieurScenario As Integer = InStr(LabelScenario.Text, ")", "")
ValueDessin = ValueDessin.Replace("Dessin :", "")
ValueDessin = ValueDessin.Replace("lt;", "")
If ValueDessin = "" Then
Me.LabelDessin.Text = ""
Else
Me.LabelDessin.Text = ValueDessin
End If

Dim VirguleDessin As Integer = InStr(LabelDessin.Text, ",")
Dim SigneSuperieurDessin As Integer = InStr(LabelDessin.Text, ")", "")
ValueCouleurs = ValueCouleurs.Replace("Couleurs :", "")
ValueCouleurs = ValueCouleurs.Replace("lt;", "")
ValueCouleurs = ValueCouleurs.Replace("amp;", "&")
If ValueCouleurs = "" Then
Me.LabelCouleur.Text = ""
Else
Me.LabelCouleur.Text = ValueCouleurs
End If

Dim VirguleCouleur As Integer = InStr(LabelCouleur.Text, ",")
Dim SigneSuperieurCouleur As Integer = InStr(LabelCouleur.Text, ")", "")
ValueEditeur = ValueEditeur.Replace("Editeur :", "")
If ValueEditeur = "" Then
Me.LabelEditeur.Text = ""
Else
Me.LabelEditeur.Text = ValueEditeur
End If

Dim PatternCollection As String
PatternCollection = "Collection : (.+?)"
Dim rxCollection As New Text.RegularExpressions.Regex(PatternCollection, RegexOptions.IgnoreCase)
Dim matchCollection As Match = rxCollection.Match(HtmlData)
Dim MaRegexCollection As New System.Text.RegularExpressions.Regex("")
Dim ValueCollection As String
ValueCollection = System.Text.RegularExpressions.Regex.Replace(matchCollection.Value, "(]+>)", "")
ValueCollection = ValueCollection.Replace("Collection : ", "")
If ValueCollection = "" Then
Me.LabelCollection.Text = ""
Else
Me.LabelCollection.Text = ValueCollection
End If

Dim PatternISBN As String
PatternISBN = "ISBN :(.+?)"
Dim rxISBN As New Text.RegularExpressions.Regex(PatternISBN, RegexOptions.IgnoreCase)
Dim matchISBN As Match = rxISBN.Match(HtmlData)
Dim MaRegexISBN As New System.Text.RegularExpressions.Regex("")
Dim ValueISBN As String
ValueISBN = System.Text.RegularExpressions.Regex.Replace(matchISBN.Value, "(]+>)", "")
ValueISBN = ValueISBN.Replace("ISBN :", "")
If ValueISBN = "" Then
Me.LabelISBN.Text = ""
Else
Me.LabelISBN.Text = ValueISBN
End If

Dim PatternCycle As String
PatternCycle = "Cycle :(.+?)"
Dim rxCycle As New Text.RegularExpressions.Regex(PatternCycle, RegexOptions.IgnoreCase)
Dim matchCycle As Match = rxCycle.Match(HtmlData)
Dim MaRegexCycle As New System.Text.RegularExpressions.Regex("")
Dim ValueCycle As String
ValueCycle = System.Text.RegularExpressions.Regex.Replace(matchCycle.Value, "(]+>)", "")
ValueCycle = ValueCycle.Replace("Cycle :", "")
If ValueCycle = "" Then
Me.LabelCycle.Text = ""
Else
Me.LabelCycle.Text = ValueCycle
End If

Dim PatternDepotLegal As String
PatternDepotLegal = "Dépot légal :(.+?)"
Dim rxDepotLegal As New Text.RegularExpressions.Regex(PatternDepotLegal, RegexOptions.IgnoreCase)
Dim matchDepotLegal As Match = rxDepotLegal.Match(HtmlData)
Dim MaRegexDepotLegal As New System.Text.RegularExpressions.Regex("")
Dim ValueDepotLegal As String
ValueDepotLegal = System.Text.RegularExpressions.Regex.Replace(matchDepotLegal.Value, "(]+>)", "")
ValueDepotLegal = ValueDepotLegal.Replace("Dépot légal :", "")
ValueDepotLegal = ValueDepotLegal.Replace("Estimation :", "")
If ValueDepotLegal = "" Then
Me.LabelDepotLegal.Text = ""
Else
Me.LabelDepotLegal.Text = ValueDepotLegal
End If
MessageBox.Show(LabelDepotLegal.Text)
Dim depot As String = Mid(LabelDepotLegal.Text, 1, 7)
MessageBox.Show(depot)

Dim PatternNbplanches As String
PatternNbplanches = "Planches :(.+?)"
Dim rxNbplanches As New Text.RegularExpressions.Regex(PatternNbplanches, RegexOptions.IgnoreCase)
Dim matchNbplanches As Match = rxNbplanches.Match(HtmlData)
Dim MaRegexNbplanches As New System.Text.RegularExpressions.Regex("")
Dim ValueNbplanches As String
ValueNbplanches = System.Text.RegularExpressions.Regex.Replace(matchNbplanches.Value, "(]+>)", "")
ValueNbplanches = ValueNbplanches.Replace("Planches :", "")
ValueNbplanches = ValueNbplanches.Replace("Crée le :", "")
If ValueNbplanches = "" Then
Me.LabelNbplanches.Text = ""
Else
Me.LabelNbplanches.Text = ValueNbplanches
End If

Dim PatternIdentifiant As String
PatternIdentifiant = "Identifiant :(.+?)"
Dim rxIdentifiant As New Text.RegularExpressions.Regex(PatternIdentifiant, RegexOptions.IgnoreCase)
Dim matchIdentifiant As Match = rxIdentifiant.Match(HtmlData)
Dim MaRegexIdentifiant As New System.Text.RegularExpressions.Regex("")
Dim ValueIdentifiant As String
ValueIdentifiant = System.Text.RegularExpressions.Regex.Replace(matchIdentifiant.Value, "(]+>)", "")
ValueIdentifiant = ValueIdentifiant.Replace("Identifiant :", "")
If ValueIdentifiant = "" Then
Me.LabelBEL.Text = ""
Else
Me.LabelBEL.Text = ValueIdentifiant
End If

Dim PatternFormat As String
PatternFormat = "Taille :(.+?)"
Dim rxFormat As New Text.RegularExpressions.Regex(PatternFormat, RegexOptions.IgnoreCase)
Dim matchFormat As Match = rxFormat.Match(HtmlData)
Dim MaRegexFormat As New System.Text.RegularExpressions.Regex("")
Dim ValueFormat As String
ValueFormat = System.Text.RegularExpressions.Regex.Replace(matchFormat.Value, "(]+>)", "")
ValueFormat = ValueFormat.Replace("Taille :", "")
If ValueFormat = "" Then
Me.LabelFormat.Text = ""
Else
Me.LabelFormat.Text = ValueFormat
End If

Dim PatternDescription As String
PatternDescription = "(.*)"
Dim rxDescription As New Text.RegularExpressions.Regex(PatternDescription, RegexOptions.IgnoreCase)
Dim matchDescription As Match = rxDescription.Match(HtmlData)
Dim MaRegexDescription As New System.Text.RegularExpressions.Regex("")
Dim ValueDescription As String
ValueDescription = System.Text.RegularExpressions.Regex.Replace(matchDescription.Value, "(]+>)", "")
If ValueDescription = "" Then
Me.TextBoxDescription.Text = "Aucune donnée disponible...."
Else
Me.TextBoxDescription.Text = ValueDescription
End If

Dim PatternImage As String
PatternImage = ""
Dim rxImage As New Text.RegularExpressions.Regex(PatternImage, RegexOptions.IgnoreCase)
MessageBox.Show(rxImage.ToString)
Dim matchImage As Match = rxImage.Match(HtmlData)
MessageBox.Show(matchImage.ToString)
Dim Image1String As String = matchImage.Value.ToString
MessageBox.Show(Image1String)

Dim PatternImage1 As String
PatternImage1 = "Couvertures/(.*?).jpg"
Dim rxImage1 As New Text.RegularExpressions.Regex(PatternImage1, RegexOptions.IgnoreCase)
Dim matchImage1 As Match = rxImage1.Match(Image1String)
MessageBox.Show(matchImage1.ToString)
Dim ImageResult As String = matchImage1.Value.ToString
MessageBox.Show(ImageResult)
NomCouverture = ImageResult.Replace("Couvertures/", "")
ImageResult = "http://www.bedetheque.com/" & ImageResult
MessageBox.Show(ImageResult)
If ImageResult = "" Then
Me.PictureBoxAlbum.Image = My.Resources.ImageNull
Else
URLImage = ImageResult
im()
Me.PictureBoxAlbum.Image = ImageFinal
SearchCouvertureAlbum.PictureBoxCouv.Image = ImageFinal
End If


Dim PatternImage2 As String
PatternImage2 = ""

Dim rxImage2 As New Text.RegularExpressions.Regex(PatternImage2, RegexOptions.IgnoreCase)
MessageBox.Show(rxImage2.ToString)
Dim matchImage2 As Match = rxImage2.Match(HtmlData)
MessageBox.Show(matchImage2.ToString)

If matchImage2.ToString = "" Then
Dim PatternImage4 As String
PatternImage4 = ""
Dim rxImage4 As New Text.RegularExpressions.Regex(PatternImage4, RegexOptions.IgnoreCase)
MessageBox.Show(rxImage4.ToString)
matchImage2 = rxImage4.Match(HtmlData)
MessageBox.Show(matchImage2.ToString)
End If

Dim Image2String As String = matchImage2.Value.ToString
MessageBox.Show(Image2String)

Image2String = System.Text.RegularExpressions.Regex.Replace(Image2String, "\x9C", "œ")

Dim PatternImage3 As String
PatternImage3 = "Versos/[0-9a-zA-Z_.]*.jpg"
Dim rxImage3 As New Text.RegularExpressions.Regex(PatternImage3, RegexOptions.IgnoreCase)
Dim matchImage3 As Match = rxImage3.Match(Image2String)
MessageBox.Show(matchImage3.ToString)
Dim ImageResult3 As String = matchImage3.Value.ToString
MessageBox.Show(ImageResult3)
ImageResult3 = ImageResult3.Replace("versos", "Versos")
NomVerso = ImageResult3.Replace("Versos/", "")

ImageResult3 = "http://www.bedetheque.com/" & ImageResult3
MessageBox.Show(ImageResult3)
If ImageResult3 = "http://www.bedetheque.com/" Then
CompteurVerso = 1
Me.PictureBoxAlbum_Verso.Image = My.Resources.ImageNull
Else
CompteurVerso = 2
URLImage = ImageResult3
im()
Me.PictureBoxAlbum_Verso.Image = ImageFinal

End If


' Me.Cursor = Cursors.Default
Catch ex As Exception
' MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")
'search()
' Me.Cursor = Cursors.Default
End Try
Catch ex As Exception
'MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")
'search()
'Me.Cursor = Cursors.Default
End Try
' search()
' Me.Cursor = Cursors.Default
End Sub
Sub RechercheIndex()

Dim index As Integer
If Me.ListViewAlbums.SelectedIndices.Count 0 Then
index = Me.ListViewAlbums.SelectedIndices(0)
MessageBox.Show(index.ToString)
End If

End Sub

/code
0
cs_Ayr Messages postés 221 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 décembre 2009 2
10 sept. 2009 à 23:51
Oui mais sur quelle(s) lignes ça plante ?

Fais évoluer en pas à pas, par exemple, et regarde à quel moment ça bloque et avec quel contenu pour tes variables/propriétés/objets.
0
guice11 Messages postés 52 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 17 décembre 2009
11 sept. 2009 à 09:10
C'est ici que ca plante


         
  index = Me.ListViewAlbums.SelectedIndices(0)
            MessageBox.Show(index)


et ensuite ca va direct là:

           Catch ex As Exception
                '  MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")
                'search()
                ' Me.Cursor = Cursors.Default
            End Try
        Catch ex As Exception
            'MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")
            'search()
            'Me.Cursor = Cursors.Default
        End Try
        ' search()
        ' Me.Cursor = Cursors.Default
    End Sub
    Sub RechercheIndex()


et j'ai l'erreur
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 sept. 2009 à 09:22
salut,

l'indice ne commence pas à 1 ?
(normalement le cas pour une collection)

index = Me.ListViewAlbums.SelectedIndices(1)


++
[hr]
0
guice11 Messages postés 52 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 17 décembre 2009
11 sept. 2009 à 17:08
Nan ca marche pas avc "1" comme indice
0
cs_Ayr Messages postés 221 Date d'inscription mercredi 9 avril 2003 Statut Membre Dernière intervention 13 décembre 2009 2
12 sept. 2009 à 21:03
[quote=guice11]C'est ici que ca plante
  index = Me.ListViewAlbums.SelectedIndices(0)
            MessageBox.Show(index)
/quote

Oui, c'est normal quand il n'y à pas de selection (cf. Post 2)

[quote=guice11]et ensuite ca va direct là:
Catch ex As Exception
                '  MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")
                'search()
                ' Me.Cursor = Cursors.Default
            End Try
        Catch ex As Exception
            'MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")
            'search()
            'Me.Cursor = Cursors.Default
        End Try
        ' search()
        ' Me.Cursor = Cursors.Default
    End Sub
    Sub RechercheIndex()
/quote
Normal aussi, c'est fais pour.

Tu devrais reprendre le code de ton évènement petit à petit. Mettre un bout d'abord tester si ça marche, ajouter un autre bout, tester ... etc.

Mais avant tout, bien commencer.

D'entrée d'évènement tu récupère ton index avec bien sur le Try de la gestion d'erreur:
Private Sub ListViewAlbums_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListViewAlbums.SelectedIndexChanged

Try
  Dim Index As Integer = Me.ListViewAlbums.SelectedIndices(0)

A ce moment là, s'il n'y à pas de selection, ça va de suite à la gestion de l'erreur où tu mets ton code:

Catch ex As Exception
            'MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")


Courage
0
guice11 Messages postés 52 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 17 décembre 2009
12 sept. 2009 à 22:12
J'ai testé avc

Private Sub ListViewAlbums_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListViewAlbums.SelectedIndexChanged

Try
  Dim Index As Integer = Me.ListViewAlbums.SelectedIndices(0)


et ca va direct à ce bout de code :

Catch ex As Exception
            'MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Erreur - Ty")
0
Rejoignez-nous