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

Windows Forms Discussion :

[C#] Dossier et son contenu.


Sujet :

Windows Forms

  1. #1
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut [C#] Dossier et son contenu.
    Bonjour,

    Grâce à un openfiledialog avec la propriété de multisélection à true, je charge des images sélectionnées dans une form.

    C'est une manipulation asser pénible car dans la fenêtre de l'openfiledialog je suis obligeé de surligner (ou de faire ctr+a) pour sélectionner les images.

    Y a t'il un moyen plus simple comme par exemple cliquer sur le dossier souhaité et son contenu se charge tout seul?

    Mon code de chargement est déjà fait et fonctionne. J'aimerai juste savoir si on peut juste en sélectionnant un dossier charger son contenue?

    Merci d'avance.
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour
    oui

    Dans le même tonneau, ou plutôt namespace, il y a FolderBrowserDialog
    Attention, c'est uniquement dispo avec le framework dot net 1.1

  3. #3
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Ha super j'avais jamais fait attention à celui-ci.
    Hum apparement c'est complètement différent d'un OpenFileDialog.

    Je n'ai pas bien saisie encore comment bien l'utiliser.
    Avez-vous des liens qui pourraient m'aider? je vais chercher de mon côté en attendant.

    Merci d'avance.

    Edit: j'ai trouver ça pour ce que sa interresse
    http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vbcon/html/vborifolderbrowserdialogcomponentwindowsforms.asp

    (Je met pas tout de suite résolu)
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

  4. #4
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    D'après ce que j'ai lu et testé, il ne me permettrait pas d'ouvrir automatiquement tout le contenu d'un dossier. C'est juste pour naviguer.

    Comment faire, quand je clic sur un dosier, je voudrais récuperer tout le contenu (les noms des fichiers par exemple) mais automatiquement.
    Que j'ai pas à les sélectionner dans un OpenFileDialog.
    Est ce faisable?

    Merci d'avance...
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Tu peux avec la classe ou l'espace de nom directory ou directoryinfo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    string[] fichiers= Directory.GetFiles(pathRenvoyéParOpenFolderBrowser,"*");
    ...
    foreach(string fichier in fichiers)
    {
    //ouvrir le fichier
    }

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Je confirme: avec le code de mabu, tu peux y arriver

  7. #7
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Merci c'est exactement se dont j'avais besoin.
    Pour info faut rajouter

    merci.
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

  8. #8
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Aï j'enleve le résolu.
    J'ai une exception.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Une exception non gérée du type 'System.OutOfMemoryException' s'est produite dans system.drawing.dll
     
    Informations supplémentaires : Mémoire insuffisante.
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

  9. #9
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Analye la propriété StackTrace de l'exception pour remonter à la ligne qui pose problème.
    Poste ensuite la partie du code concerné.

    Avec les infos que tu donnes, on est pas très avancé

  10. #10
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    folderBrowserDialog1.ShowDialog();
    string[] fichiers= Directory.GetFiles(folderBrowserDialog1.SelectedPath,"*"); 
    foreach(string fichier in fichiers) 
    { 
      pctb1 = new PictureBox();        
      pctb1.Size = new Size( Convert.ToInt16  (txt_largeur.Text),Convert.ToInt16(txt_hauteur.Text) );
      pctb1.Location = new Point( emplacementlargeur, emplacementhauteur );
      pctb1.SizeMode=PictureBoxSizeMode.StretchImage;
       pctb1.Image=Image.FromFile(fichier);
    }

    (le code n'est pas entier car il est long).
    L'erreur apparait ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pctb1.Image=Image.FromFile(fichier);
    ps: sa y est je suis un nouveau membres
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

  11. #11
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    J'ai trouvé l'erreur, elle venait du fait que le fichier DDDICVRY.DPS se chargeait dans la liste (ça doit être un fichier windows).


    Est ce que le fait de créer dynamiquement des contrôles (dans le cas présent des picturebox) demande tant que ça en ressources mémoire?

    Est ce qu'on peut libérer la mémoire utilisée après l'affichage?
    Je m'explique, à chaque fois que j'affiche une image dans un picturebox, sa prend de plus en plus de ressources mémoires.
    Une idée??


    Merci d'avance.
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

  12. #12
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Normalement, le GC devrait faire le ménage pour que ca prenne pas trop de ressources

  13. #13
    Invité(e)
    Invité(e)
    Par défaut
    On peut forcer le GC à faire le ménage dans certains cas, notement quand on sait combien de temps on va avoir besoin d'une ressource grace à la clause using :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    using(int monEntier)
    {
        //travail sur monEntier
    }
    //à partir d'ici, monEntier n'existe plus

  14. #14
    Membre du Club

    Inscrit en
    Juin 2003
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Merci beaucoup pour toutes ces informations .
    if ( toi == "répondre à moi")
    {
    moi = "";
    }
    Débutant mais futur Pro...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/07/2011, 18h20
  2. Réponses: 4
    Dernier message: 22/09/2010, 18h21
  3. Fonction pour copier un dossier et son contenu
    Par wassimbik dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2009, 12h28
  4. Réponses: 3
    Dernier message: 20/04/2007, 23h58
  5. Dupliquer un dossier et son contenu
    Par Bne dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2006, 16h36

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