Erreur bizarre avec remove.items de listbox

Résolu
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009 - 21 janv. 2006 à 12:01
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 26 janv. 2006 à 19:34
Salut, comme je l'indique dans le titre, j'ai une erreur assez surprenante quand je click sur le lien lnkSupprDossier donc voici le code:
private void lnkSupprDossier_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
try
{
lstDossiers.Items.Remove (lstDossiers.Text ); //L'erreur se situe là, je stocke des chemins de dossiers. Ce qui suit est ignoré et ça passe direct au catch
lblSelFolder.Text = "Aucun dossier sélectionné";
lblSelFolder2.Text = "Aucun dossier sélectionné";
StreamWriter swDossiers = new StreamWriter (Application.StartupPath + @"\lstDossiers.ini",false);
foreach (string item in lstDossiers.Items )
{
swDossiers.WriteLine (item);
}
swDossiers.Close ();
}
catch
{
MessageBox.Show ("Aucun dossier n'est sélectionné.","Information",MessageBoxButtons.OK ,MessageBoxIcon.Information );
}
}

Est-ce déjà arrivé à quelqu'un, ? Si vous voulez essayer l'appli, envoyer un moi un mp avec votre mail et je vous la filerai. Pour ma part, je suis complètement dérouté par ce souci...

Merci d'avance

@ plus

lagoelle

6 réponses

cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
26 janv. 2006 à 19:30
Salut et merci de venir à mon aide ;-)

En fait j'ai trouvé la solution, quand je supprimais un dossier, l'évènement index_change du listbox était levé.
Or le lstDossiers.text n'a plus de valeur, donc une exception était lancée dans Directory.GetFiles.
J'ai résolu le soucis avec un try-catch et ça à l'air de fonctionner. Je vais les tests sur un autre ordi demain et si tout va bien j'ajoute la source sur le site ce week end.

Encore merci à tous et désolé (j'aurai du réfléchir un peu plus avant de vous solliciter)

@ plus

lagoelle
3
marcberube Messages postés 2 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 22 janvier 2006
22 janv. 2006 à 22:45
Remplace ta ligne erronnée par celle-ci : lstDossiers.Items.Remove( lstDossiers.SelectedItem );
ou bien celle-ci marche aussi très bien : lstDossiers.Items.RemoveAt(lstDossiers.SelectedIndex);

Car tu ne fais que passer le text en paramètre, et non l'item en tant que tel, c'est pourquoi il ne le reconnait pas
0
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
24 janv. 2006 à 21:26
Salut,

J'ai remplacé la ligne erronée par les 2 propositions (j'en avais déjà testé une ) et toujours le même soucis.
Si quelqu'un veut, je peux lui envoyer le projet (c'est un prog qui archive les faxs, les imprime...).
@ plus

lagoelle
0
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
25 janv. 2006 à 19:37
Salut,
En fait après approfondissement, l'erreur ne vient pas de la partie de code donnée au dessus. Le fait de supprimer un item lève l'évenement index_changed du list box:

private void lstDossiers_SelectedIndexChanged(object sender, System.EventArgs e)
{
lblDate.Text = DateTime.Today.ToShortDateString ();
txtDest1.Text ="";
txtDest2.Text ="";
txtDest3.Text ="";
txtDest4.Text ="";
txtDest5.Text ="";
txtNumFax.Text ="";
txtAffaire.Text ="";
txtPages.Text ="";
txtMessage.Text ="";
fileFax.Items.Clear ();
lblSelFolder.Text = lstDossiers.Text ;
lblSelFolder2.Text = lstDossiers.Text ;
String[] fichiers = Directory.GetFiles(lstDossiers.Text); //l'erreur vient d'ici
for (int i = 0; i < fichiers.Length; i++)
{
if (Path.GetExtension (fichiers[i])== ".jfax")
{
fileFax.Items.Add (Path.GetFileNameWithoutExtension (fichiers[i]));
}
}
}

Meme question, quelqu'un voit d'ou ca peut venir ?

@ plus

lagoelle
0

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

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
25 janv. 2006 à 19:48
Salut, quel est le message d'erreur ?



Mx
MVP C#
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
26 janv. 2006 à 19:34
Pas de probleme ;)



Mx
MVP C#
0
Rejoignez-nous