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 :

[C# Windows Forms] folderBrowserDialog1 répertoire initial


Sujet :

C#

  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut [C# Windows Forms] folderBrowserDialog1 répertoire initial
    Bonjour,

    Je n'arrive pas a ouvrir le dialogue de sélection de répertoire sur un sous répertoire de "Mes documents" !
    Je choisis le sous-repertoire initial avec rootFolder + selectedPath (qui est bien dans rootFolder et qui existe)

    Le folderBrowserDialog s'ouvre bien sur le répertoire choisi pour par exemple ce couple de valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    folderBrowserDialog1.RootFolder = Environment.SpecialFolder.ProgramFilesX86; // s'ouvre sur programm X86
     folderBrowserDialog1.SelectedPath = @"C:\Program Files (x86)\Acronis";
    Mais pas pour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Personal; //ou   folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyDocuments
     folderBrowserDialog1.SelectedPath = @"C:\Users\xxxxx\Documents\AA";
    Le folderBrowserDialog1 s'ouvre sur "Documents" (pas sur C:\Users\xxxxx\Documents\AA) et de plus quand je clique sur "Documents" il ne s'ouvre pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
     // code complet
      private void bnChoixRep_Click(object sender, EventArgs e)
            {
                string folderName;
                folderBrowserDialog1.Description = "Choisissez le repertoire pour les .cs";
               //Ok pour!
                folderBrowserDialog1.RootFolder = Environment.SpecialFolder.ProgramFilesX86; 
                folderBrowserDialog1.SelectedPath = @"C:\Program Files (x86)\Acronis";
     
                // ça marche pas pour
                folderBrowserDialog1.RootFolder = Environment.SpecialFolder.Personal;   //ou  folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyDocuments; 
                folderBrowserDialog1.SelectedPath = @"C:\Users\xxxxx\Documents\AA";
     
                DialogResult result = folderBrowserDialog1.ShowDialog();
                if (result == DialogResult.OK)
                {
                    folderName = folderBrowserDialog1.SelectedPath;
                }
    Une idée ?? bug connu ? une alternative ?

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 011
    Points : 2 078
    Points
    2 078
    Par défaut
    Bonjour,
    Je me réponds pour clore le fil ...

    Je ne suis pas le seul à avoir le problème..
    Je soupçonne que le bug résulte du fait que depuis la version Windows 10 anniversery Microsoft a tronqué dans l'explorateur de fichier le nom de l'utilisateur à 5 caractères (mais pourquoi )


    Pour résoudre le problème on peut utiliser l'Api Windows mais c'est pas simple.

    J'utilise donc un sélecteur de fichier ( .initialDirectory marche) , avec pour titre "Choisir n'importe quel fichier du répertoire souhaité" et j'extrais le path du fichier (encore faut-il qu'il y ait un fichier dans le répertoire, mais comme dans mon appli le but c'est de traiter tous les fichiers ".cs" du répertoire c'est ok).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     var filePath = string.Empty;
                openFileDialog1.Title ="Choisissez n'importe quel fichier du répertoire souhaité";
                openFileDialog1.InitialDirectory = @"C:\Users\xxxxxi\Documents\Visual Studio 2019\Projects\1_MesProgs";
                openFileDialog1.Filter = "txt files (*.cs)|*.cs|All files (*.*)|*.*";
                openFileDialog1.FilterIndex = 2;
                openFileDialog1.RestoreDirectory = true;
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    filePath = openFileDialog1.FileName;
             ...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/04/2016, 12h32
  2. [VB.NET] Partager un dataset entre 2 windows forms ???
    Par kissskoool dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/07/2005, 11h34
  3. [debutant VC++ et C++] Windows form et OPENFILENAME
    Par Le Scandinave dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2005, 15h31
  4. [C#] windows form et ComboBox
    Par telynor dans le forum Windows Forms
    Réponses: 9
    Dernier message: 12/11/2004, 18h17
  5. [VB.NET] windows form traits
    Par DG JohnJohn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/06/2004, 15h05

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