Recupere l'index d'un item

Tendry - 10 avril 2018 à 21:50
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 15 avril 2018 à 13:26
Bonjour,
Je suis entraint de develloppé une petite application pour tache de recuperer la liste des lecteurs branché sur le pc.
Mon problem sont les suivant:
J'ai un listbox charger par le driveinfo
Sur mon ordi j'ai:
C:\partition => index:0
D:\partition => index:1
E:\(lecteur sd inactif) => index:3
F:\DvdRom => index:4
G:\Usb branché => index 5

Dans ma listbox quand j'elimine les inactifs et le dvd le G:\ prend l'index: 3
Pour recuperer les infos du disque selectioné

Mondrive[listitem.selectedIndex].name
Mondrive[listitem.selectedIndex].driveformat

Sauf que l'index du du list G:\ ne corespond plus a cel du mondrive[]

Est il realisable d'accedé a Mondrive[] via ses valeurs par exemple

Par exemple:
Mondrive[indexof(Mondrive ou le valeur = listitem.selectedItem)

Merci de votre aide.

1 réponse

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 11 avril 2018 à 15:03
bonjour !
Si tu montrais le code que tu as écrit !
Ne serais-tu pas en train de confondre disque physique et partition logique ?
Pourquoi supprimes-tu les inactifs ?
Dans ce cas mieux vaut afficher uniquement les partitions actives qui ne sont pas sur disque DVD?

Regarde les propriétés DriveType et Ready de la classe DriveInfo pour filtrer les partitions que tu désires

0
tendry12 Messages postés 11 Date d'inscription dimanche 18 janvier 2015 Statut Membre Dernière intervention 22 avril 2018
14 avril 2018 à 08:47
Bonjour,
Je vien de trouver un solution a mon probleme

Foreach(driveInfo d in allDrive)
{

If(d.IsReadu ==true)
{
//ajouter un item a ma listebox
ListeDrive.items.add(d.Name);

}
Else
{
ListeDrive.items.add(d.name + "pas de disque") ;

}
}


Et empecher la selection du disque invalide avec

If( alldrive[cl.selectedIndex].isReady == false)
{
MessageBox.show(" le disque est vide");
//metre le bouton d'envoye a disable"
Bt-format.enabled = false;
}


Mais je cherche a rendre les items inactif invible
Mais je ne sais pas comment fair merci.
0
vb95 > tendry12 Messages postés 11 Date d'inscription dimanche 18 janvier 2015 Statut Membre Dernière intervention 22 avril 2018
Modifié le 14 avril 2018 à 15:47
bonjour
Pourquoi affiches-tu les partitions qui ne sont pas prêtes ?

Foreach(driveInfo d in allDrive)
{
   If(d.IsReady ==true)
   {
       //ajouter un item a ma listbox
       ListeDrive.items.add(d.Name);
    }
}


IsReady et non IsReadu
0
tendry12 Messages postés 11 Date d'inscription dimanche 18 janvier 2015 Statut Membre Dernière intervention 22 avril 2018
14 avril 2018 à 17:38
Une faute de frape. Desoler
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
15 avril 2018 à 13:26
bonjour !
Si ton souci est résolu mets le message en "résolu" avec la roue dentée en haut du message
Merci
0
Rejoignez-nous