Comment coder une erreur sur un non clic dans une listview ?

Résolu
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 29 avril 2007 à 19:33
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 29 avril 2007 à 21:14
bonsoir,

j'ai un formulaire avec une listview à 2 colonnes + 2 boutons.
le premier bouton sert à lister les processus windows,
et le deuxieme à killer le processus selectionné dans la listview.

jusqu'ici tout marche bien et je suis bloqué par un truc vraiment bete :
j'arrivie pas a mettre en place une condition qui affiche un message d'erreur si on clique sur le bouton "killer" sans avoir selelctionné au préalable un process dans la liste affichée.

avant j'utilisais une listbox, et avec "if listbox1.selecteditem is nothing then messagebox, etc..." ça marchait bien.

là , j'essaye avec "if listview1.selecteditems.items(0).text i nothing " vu que les process sont listés dans la 1ere colonne, mais ça me provoque une erreur VB plutot que la message box : "l'execption argumentoutofrange exception n'a pas été gérée"

et là c'est le drame, je seche. merci d'avance de votre aide 

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 avril 2007 à 19:40
Regarde peut-etre du coté de Listbox1.SelectedItems.Count

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
29 avril 2007 à 19:43
justement, ce n'est plus une listbox mais une listview que j'utilise maintenant.
sinon, comme je le disais, je m'en sortait tres bien avec "if listbox1.selecteditem is nothing "
je n'arrive pas à adapter avec listview
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
29 avril 2007 à 19:47
mais tu m'a mis sur la bonne piste je le tiens avec :

Dim

choix
As
Integer = ListView1.SelectedItems.Count

If choix =
Nothing
Then

mes test rapides semble montrer que ça fonctionne bien, mais si tu as mieux à proposer...

dans tous les cas : MERCI
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 avril 2007 à 19:49
Les clicks et double-clicks sur une listview (et donc le selecteditem) ne concernent que la 1ère colonne ...

voilà comment ça marche (exemple pour une listview à 3 colonnes))

  Dim choisi As Integer
  choisi = ListView1.SelectedItem
  MsgBox "tu viens de double-cliquer sur la ligne " & choisi & vbCrLf & _
  " qui contient en sa 2ère colonne, le texte " & ListView1.SelectedItem.Text & vbCrLf & _
  " et en sa 2ème colonne, le texte " & ListView1.ListItems(choisi).SubItems(2) & vbCrLf & _
  "c'est là que tu peux injecter tes instructions à exécuter au lieu de cette msgbox"


 
0

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

Posez votre question
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
29 avril 2007 à 20:10
jmfmarques : merci pour ces infos complémentaires.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 avril 2007 à 20:34
Perso il me semble plus logique d'écrire

If 
ListView1.SelectedItems.Count
=
0 Then

Pourquoi se compliquer les choses quand c'est simple ?

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
29 avril 2007 à 21:14
faut croire que j'aime bien me compliquer la vie...
merci
0
Rejoignez-nous