CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : [WindowsForm] Question sur l'ouverture et la fermeture des "forms"

DébutPage précedente
1
Page suivantePage suivante
sali6000 sali6000
MP
Niveau 6
13 août 2017 à 17:27:08

Bonjour !

Je suis un peux bloqué sur un programe, je vais essayé d'en venir direct au but

J'ai du mal à trouver une solution à mon problème car pour l'instant j'ai pensé comme ça:

run(new form1)); // Je lance form1 (le menu principal s'affiche)

quand je clique sur "nouveau projet", j'affiche ma form2 avec form2.showDialog(); comme ceçi :
private void buttonNouveauProjet_Click(object sender, EventArgs e) { Section section = new Section(); section.ShowDialog(); ActiveForm.Hide(); }

quand je choisit "Employer" dans le form2, je crée form3 (Employer) et je fait form3.Show();


    public partial class Section : Form
    {
        string selection;
        public Section()
        {
            InitializeComponent();
            listBoxCategorie.Items.Add("Employer");
            listBoxCategorie.Items.Add("Stock");
            listBoxCategorie.Items.Add("Compte");
            listBoxCategorie.Items.Add("Rendez-vous");
            
        }


        private void listBoxCategorie_SelectedIndexChanged(object sender, EventArgs e)
        {
            selection = listBoxCategorie.SelectedItem.ToString();
        }

        private void buttonValider_Click(object sender, EventArgs e)
        {
            ActiveForm.Hide();

            switch (selection)
            {
                case "Employer":
                    Employer employer = new Employer();
                    employer.Show();
                    break;
                case "Stock":
                    break;
                case "Compte":
                    break;
                case "Rendez-vous":
                    break;
            }
        }

Ce que j'aimerais faire s'est fermé les formulaires (libéré les ressources) de form1(Menu) et form3(Employer) à partir de form3 à l'aide d'un bouton "quitter", mais je ne voit pas comment fermé form1 en dehors de sa classe. Je pensais que ca allait marché en faisant form1.close(); juste après avoir lancé form2 mais le programme s'arrête. Alors je fait form1.Hide(); mais le problème est que il ne libère par les ressources de form1 après avoir fait form3.close();

Et aussi, pour navigué entre les forms il faut joué avec les run(new form1()); ? ou bien form1 blabla = new form ? Ca dépend du contexte ?

désoler pour ce charabia, j'espère que vous m'aurez compris, merci !

Message édité le 13 août 2017 à 17:30:57 par sali6000
SEGA_2012 SEGA_2012
MP
Niveau 8
13 août 2017 à 20:25:22

Si ta "form1" est la form principal alors a chaque fois que tu utilsera "close" dessus ton application se fermera
Je crois que tu peux régler ça dans les paramètres de ton projet si ma mémoire est bonne :)
Ou sinon utilisé "hide" pour régler le problème

sali6000 sali6000
MP
Niveau 6
14 août 2017 à 03:28:16

Merci de ta réponse, oui donc avec un Hide je ne pourrais quitter le programe que en retournant à la "form1" obligatoirement, je vais allé voir dans les paramètres comme tu dis, si je trouve quelque chose. J'espère qu'il ne faut pas gêré tous ça là où il y a marqué run(new form1());

Je pensais que ca allais être plus simple à gêrer, je bloque déjà pour quitter mon programme là où je veut lol

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : godrik, LGV
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment