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 :

Récupérer le chemin d'un folderbrwoserdialog, et activer un composant!


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut Récupérer le chemin d'un folderbrwoserdialog, et activer un composant!
    Bonjours,
    Je sais comment récupérer le chemin d'un folderbrowserdialog, mais le problème, c'est de récupérer le folderbrowserdialog dans la form1, et l'utiliser dans une autre form!
    J'ai bien mis en public!
    Mais le folderBrowserDialog, se met a zéro je croit, c'est pour ça que sa fonctionne pas!
    Alors une petite aide!
    Puis j'ai eu un problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                this.contextMenuStrip1.Enabled = true;
                this.contextMenuStrip2.Enabled = true;
    Sa les active pas, même en allant sur le composant et en mettant enabled, sa ne fonctionne pas!
    Merci d'avance!

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut
    Pour les compsants, j'ai réussi!
    J'ai supprimer la ligne, et remis, et sa a fonctionner!
    Bizarre?!
    Puis le folderBrowserDialog, je n'est pas trouver de solution!

  3. #3
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Tu peux nous montrer comment tu utilises ton FolderBrowserDialog ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut
    Voilà a quoi il sert:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     private void ouvrirToolStripButton_Click(object sender, EventArgs e)
            {
                if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        //int num1 = (int)this.folderBrowserDialog1.ShowDialog();
                        if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Quests.rvdata2"))
                        {
                            using (BinaryReader binaryReader = new BinaryReader((Stream)File.Open(this.folderBrowserDialog1.SelectedPath + "\\Data\\Quests.rvdata2", FileMode.Open)))
                            {
                                int length = binaryReader.ReadInt32();
                                this.quests = new Quest[length];
                                this.listBox1.Items.Clear();
                                for (int index1 = 0; index1 < length; ++index1)
                                {
                                    this.quests[index1] = new Quest("");
                                    this.quests[index1].Name = binaryReader.ReadString();
                                    this.quests[index1].Giver = binaryReader.ReadString();
                                    this.quests[index1].Location = binaryReader.ReadString();
                                    this.quests[index1].Description = binaryReader.ReadString();
                                    this.quests[index1].QuestNote = binaryReader.ReadString();
                                    this.quests[index1].Level = binaryReader.ReadInt32();
                                    this.quests[index1].IconIndex = binaryReader.ReadInt32();
                                    this.quests[index1].NumberObjectives = binaryReader.ReadInt32();
                                    this.listBox1.Items.Add((object)this.quests[index1].Name);
                                    this.quests[index1].Objectives.Clear();
                                    for (int index2 = 0; index2 <= this.quests[index1].NumberObjectives; ++index2)
                                        this.quests[index1].Objectives.Add(binaryReader.ReadString());
                                    int num2 = binaryReader.ReadInt32();
                                    for (int index2 = 0; index2 < num2; ++index2)
                                    {
                                        this.quests[index1].items.Add(new Item(0, 0, 0));
                                        this.quests[index1].items[index2].type = binaryReader.ReadInt32();
                                        this.quests[index1].items[index2].itemid = binaryReader.ReadInt32();
                                        this.quests[index1].items[index2].itemnumber = binaryReader.ReadInt32();
                                    }
                                    this.quests[index1].Catégorie = binaryReader.ReadString();
                                    this.quests[index1].EvCommun = binaryReader.ReadInt32();
                                    this.quests[index1].Banniere = binaryReader.ReadString();
                                    this.quests[index1].Teinte = binaryReader.ReadInt32();
                                    this.quests[index1].Objective0 = binaryReader.ReadString();
                                }
                            }
                        }
                        if (File.Exists("Projet\\Data\\Items.rvdata2"))
                            File.Delete("Projet\\Data\\Items.rvdata2");
                        if (File.Exists("Projet\\Data\\Armors.rvdata2"))
                            File.Delete("Projet\\Data\\Armors.rvdata2");
                        if (File.Exists("Projet\\Data\\Weapons.rvdata2"))
                            File.Delete("Projet\\Data\\Weapons.rvdata2");
                        if (File.Exists("Projet\\Graphics\\System\\IconSet.png"))
                            File.Delete("Projet\\Graphics\\System\\IconSet.png");
                        if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Items.rvdata2"))
                            File.Copy(this.folderBrowserDialog1.SelectedPath + "\\Data\\Items.rvdata2", "Projet\\Data\\Items.rvdata2");
                        if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Armors.rvdata2"))
                            File.Copy(this.folderBrowserDialog1.SelectedPath + "\\Data\\Armors.rvdata2", "Projet\\Data\\Armors.rvdata2");
                        if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Data\\Weapons.rvdata2"))
                            File.Copy(this.folderBrowserDialog1.SelectedPath + "\\Data\\Weapons.rvdata2", "Projet\\Data\\Weapons.rvdata2");
                        if (File.Exists(this.folderBrowserDialog1.SelectedPath + "\\Graphics\\System\\IconSet.png"))
                            File.Copy(this.folderBrowserDialog1.SelectedPath + "\\Graphics\\System\\IconSet.png", "Projet\\Graphics\\System\\IconSet.png");
                        this.LoadTimer1.Enabled = true;
                        this.ouvrirToolStripButton.Enabled = false;
                        this.enregistrerToolStripButton.Enabled = true;
                    }
                    catch (Exception)
                    {
                        MessageBox.Show("Un projet est ouvert!", "Ouverture impossible:");
                    }
                }
            }

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Tu as utilisé un composant "FolderBrowserDialog" dans le designer de tes formulaires.
    Le code d'initialisation est donc indépendant entre les 2.

    Si dans l'autre formulaire tu veux utiliser le même, alors il te suffit de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form1 monAutreForm = Application.OpenForms.OfType<Form1>().First();
    FolderBrowserDialog fbd = monAutreForm.folderBrowserDialog1;
    fbd.ShowDialog();//etc...
    Après 2 remarques :
    - C'est moche de déclarer une variable en publique, il faut plutôt l'encapsuler dans une propriété ou une méthode.
    - Il y a une doc MSDN en ligne sur les classes, des exemples en lignes, etc... n'hésites pas à la consulter. Aussi, tu peux aller sur n'importe quelle classe Microsoft et faire "F1" avec le curseur dessus, tu auras la doc correspondante.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut
    Merci pour ta réponse!
    J'ai fait ceci:
    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
            public IconSelector()
            {
                InitializeComponent();
                Form1 monAutreForm = Application.OpenForms.OfType<Form1>().First();
                FolderBrowserDialog fbd = monAutreForm.folderBrowserDialog1;
                if (File.Exists(fbd.SelectedPath + "\\Graphics\\System\\IconSet.png"))
                {
                    MemoryStream memoStream2 = new MemoryStream(File.ReadAllBytes(fbd.SelectedPath + "\\Graphics\\System\\IconSet.png"));
                    this.pictureBox1.Image = new Bitmap(memoStream2);
                    memoStream2.Close();
                }
                this.img = new Bitmap(this.pictureBox1.Image);
                this.pictureBox1.Size = new Size(pictureBox1.Image.Width, pictureBox1.Image.Height);
                this.Width = this.pictureBox1.Image.Width +17;
            }
    Et sa fonctionne, merci beaucoup!

    Citation Envoyé par Ph_Gr
    - C'est moche de déclarer une variable en publique, il faut plutôt l'encapsuler dans une propriété ou une méthode.
    Comment ça?
    Désoler, mais j'apprend le langage C#!

Discussions similaires

  1. Comment récupérer le chemin d'une table liée
    Par ptitepunk dans le forum Access
    Réponses: 2
    Dernier message: 15/09/2005, 10h47
  2. Récupérer le chemin complet de l'appli
    Par alainpeniche dans le forum Windows
    Réponses: 3
    Dernier message: 10/08/2005, 14h03
  3. [Sources]Récupérer le chemin d'un objet OLE
    Par Mr.Gus dans le forum Contribuez
    Réponses: 9
    Dernier message: 12/05/2005, 10h11
  4. Récupérer le chemin de l'alias a partir du database
    Par rippoz dans le forum Bases de données
    Réponses: 2
    Dernier message: 02/08/2004, 14h59
  5. Récupérer le chemin d'accés du PFile.
    Par Laurent Dardenne dans le forum Administration
    Réponses: 7
    Dernier message: 03/02/2004, 17h21

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