IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

openfiledialog modifie le chemin du .exe


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 43
    Par défaut openfiledialog modifie le chemin du .exe
    Bonsoir à tous,

    voici mon problème:

    Mon programme possède une form qui permet de lire dans un fichier lorsque je clique sur OK, jusque la tous va bien.

    Depuis que j'ai ajouté à cette form un OpenfileDialog et que je l'utilise (choix d'un avatar dans un autre dossier que le .exe) lorsque je clic sur OK il plante car il ne trouve plus le fichier à lire... le dossier dans lequel il cherche est celui ou ce trouve les avatars.

    Voila les extraits de code,

    Bouton OK:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     private void button1_Click(object sender, EventArgs e)
            {
                StreamReader sr = new StreamReader(fichier.FichierJoueurs);
                sr.Close();
    		}

    Bouton OpenFileDialog:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Bitmap bmp;
            private void bavatar_Click(object sender, EventArgs e)
            {
                DialogResult res = openFileDialog1.ShowDialog();
           }
    Je précise que quand j'utilise pas bavatar_click ça fonctionne.

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Il faut utiliser la propriété RestoreDirectory
    http://msdn.microsoft.com/fr-fr/libr...ry(VS.80).aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    openFileDialog1.RestoreDirectory = true ;
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 43
    Par défaut
    Nickel !

    Merci beaucoup.

  4. #4
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Au fait, c'est une mauvaise pratique d'utiliser des chemins relatifs lorsqu'on ne sait pas trop où on peut être. Rendre le programme dépendant du dossier de démarrage (lorsque ce n'est pas un outil en ligne de commande) peut amener à des crash obscurs dont la source ne paraît pas évidente.

    En clair, à la place de supposer que Environment.CurrentDirectory est ce à quoi tu penses avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StreamReader sr = new StreamReader(fichier.FichierJoueurs);
    Il faudrait faire comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StreamReader sr = new StreamReader(Path.Combine(Path.GetDirectoryName(Application.ExecutableFile),fichier.FichierJoueurs));
    C'est plus long, mais ça n'oblige pas par exemple à vérifier chaque boîte de dialogue du programme en croisant les doigts pour que le dossier courant ne change pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/05/2010, 15h08
  2. [IMPORT DMP]modifier les chemins physiques de l'import
    Par vbcasimir dans le forum Oracle
    Réponses: 14
    Dernier message: 07/11/2007, 09h37
  3. [VBA_Excel] Modifier un chemin en fonction de la valeur d'une cellule
    Par jefe.k dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/02/2007, 15h28
  4. [DEBUTANT] Modifier le chemin du répertoire data
    Par tripper.dim dans le forum Installation
    Réponses: 1
    Dernier message: 12/01/2006, 19h12
  5. Modifier le répertoire du .exe de perl
    Par Guitorius dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2005, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo