Redémarrer un programme d'application bureau C# sans fermer la fenêtre
Résolu/Fermé
Anonyme1234_7288
Messages postés
65
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
-
18 mars 2021 à 20:14
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 20 mars 2021 à 19:24
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 20 mars 2021 à 19:24
A voir également:
- Redémarrer un programme d'application bureau C# sans fermer la fenêtre
- Application gps sans internet - Guide
- Bureau virtuel windows 10 - Guide
- Programme demarrage windows 10 - Guide
- Redémarrer le spouleur d'impression - Guide
- Forcer la fermeture d'un programme - Guide
7 réponses
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
18 mars 2021 à 21:24
18 mars 2021 à 21:24
C'est à dire?
- sans cliquer sur la "croix", mais la fenêtre peut s'éteindre et se redémarrer?
- la fenêtre n'est jamais éteinte et les données et algo sont remis à zéro?
- autre?
Anonyme1234_7288
Messages postés
65
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
18 mars 2021 à 21:28
18 mars 2021 à 21:28
En fait ce que je voudrais c'est que dans mon programme il y ait un bouton et que lorsque je clique dessus il revient comme il était au début, donc comme avant que l'utilisateur interagisse avec le programme.
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
19 mars 2021 à 08:14
19 mars 2021 à 08:14
Je comprends donc que la fenêtre peut s'éteindre et redémarrer.
Dans ce cas, dans le constructeur de la form, tu fais une recherche sur les processus actuels, dont le nom correspond à ton programme.
S'il y en à plus qu'un tu tues les plus anciens, pour ne conserver que le plus récent.
Ceci sert à n'avoir qu'une seule instance de ton programme et cette instance est la dernière lancée.
Dans le code de ton bouton, tu lances une nouvelle instance de ton programme.
Dans ce cas, dans le constructeur de la form, tu fais une recherche sur les processus actuels, dont le nom correspond à ton programme.
S'il y en à plus qu'un tu tues les plus anciens, pour ne conserver que le plus récent.
Ceci sert à n'avoir qu'une seule instance de ton programme et cette instance est la dernière lancée.
Dans le code de ton bouton, tu lances une nouvelle instance de ton programme.
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
19 mars 2021 à 09:38
19 mars 2021 à 09:38
Le code pour tuer mon programme de test qui s'appelle "Test Winform"
Attention, tu ne peux pas l'essayer avec Visual Studio, en effet quand on exécute un code depuis VS, le processus est hébergé par VS, du coup si tu lances une fois l'exe, puis VS il n'y a qu'un processus avec le nom du projet.
Et le code pour lancer une nouvelle application
public Form1() { Process[] ps = Process.GetProcessesByName("Test Winform"); for (int i = 0; i < ps.Length - 1; i++)//le plus récent est le dernier du tableau ps[i].Kill(); InitializeComponent(); //etc
Attention, tu ne peux pas l'essayer avec Visual Studio, en effet quand on exécute un code depuis VS, le processus est hébergé par VS, du coup si tu lances une fois l'exe, puis VS il n'y a qu'un processus avec le nom du projet.
Et le code pour lancer une nouvelle application
Process.Start("Test Winform.exe");
Anonyme1234_7288
Messages postés
65
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
>
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
19 mars 2021 à 17:18
19 mars 2021 à 17:18
En fait je ne veux pas que la fenêtre ce ferme, je veux seulement un code pour que mon programme recommence depuis le début sans fermer la fenêtre
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
19 mars 2021 à 18:05
19 mars 2021 à 18:05
Dans ce cas là, quand je te demande si la fenêtre peut se refermer, tu dis non.....
Si on te demande de détailler et on te pose des questions précises c'est que ta demande n'est pas claire.
Et comme à des questions précises, tu réponds encore vaguement, et ben j'ai supposé, qu'aux 2 questions c'est oui....
A part l'appel à InitialiseCompomnent, as tu du code dans le constructeur?
As tu du code dans le load?
As tu du code dans le shown?
As tu des binding?
L'utilisateur peut il saisir des données? Agir sur des contrôles?
Si on te demande de détailler et on te pose des questions précises c'est que ta demande n'est pas claire.
Et comme à des questions précises, tu réponds encore vaguement, et ben j'ai supposé, qu'aux 2 questions c'est oui....
A part l'appel à InitialiseCompomnent, as tu du code dans le constructeur?
As tu du code dans le load?
As tu du code dans le shown?
As tu des binding?
L'utilisateur peut il saisir des données? Agir sur des contrôles?
Anonyme1234_7288
Messages postés
65
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
19 mars 2021 à 18:23
19 mars 2021 à 18:23
En fait mon programme est une application de bureau en C#, il consiste à aller chercher des donner dans un fichier Excel et il les exporte dans des comboBox. Mais lorsque l’utilisateur interagit d’une certaine manière avec le programme, ce dernier m’affiche une erreur, et je suis désolé pour mes réponses, merci de m’avoir averti, dorénavant je vais plus développé. Donc recommençons du début, quelle sont tes questions pour m’aider
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
>
Anonyme1234_7288
Messages postés
65
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
19 mars 2021 à 20:05
19 mars 2021 à 20:05
Elles sont dans le message
Anonyme1234_7288
Messages postés
65
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
>
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
19 mars 2021 à 20:36
19 mars 2021 à 20:36
Oui, j'ai d'autre code dans le constructeur, aussi, je ne sais pas ce qu'est le load, le shown et le binding. Finalement, oui, l'utilisateur peut agir sur les contrôles, il peut sélectionner les valeurs dans les comboBox. Mais à part les comboBox, l'utilisateur ne peut saisir aucune autre donnée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
19 mars 2021 à 20:44
19 mars 2021 à 20:44
Mais lorsque l’utilisateur interagit d’une certaine manière avec le programme, ce dernier m’affiche une erreur,
Ne serait pas plus judicieux de chercher la raison de cette erreur et de faire en sorte
- soit de la corriger?
- soit d'empêcher qu'elle se produise?
Mais si tu veux tout réinitialiser:
- tout ce qui est dans le constructeur, sauf l'appel à InitialiseCompoment doit être mis dans un méthode. Pour simplifier la suite, je vais l'appeler
private void Init()
- Dans le constructeur, tu appelles InitialiseComponment puis Init().
- Dans ton bouton,
- s'il y a un lien de données entre tes combobox et le fichier excel, tu le casses
- s'il n'y a pas de lien, tu vides les combobox
- si les interactions avec les combox ont une influence sur d'autres controles, tu remets ces controles dans leur état d'origine
- tu appelles Init
Anonyme1234_7288
Messages postés
65
Date d'inscription
samedi 14 mars 2020
Statut
Membre
Dernière intervention
8 avril 2021
20 mars 2021 à 19:09
20 mars 2021 à 19:09
Merci beaucoup de ton aide, sa marche!!!
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
20 mars 2021 à 19:24
20 mars 2021 à 19:24
De rien