Reinitialiser une appli c#

Signaler
Messages postés
40
Date d'inscription
lundi 18 février 2002
Statut
Membre
Dernière intervention
5 novembre 2012
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour

J'ai développpé une appli en C# (Visual Studio 2008), et je souhaiterai après l'appui sur un bouton rentrer dan un mode spécial, ou tout se retrouve comme lorsque j'ai lancé l'application la première fois. Je ne voudrais pas fermer et relancer l'appli  (Application.Restart), car je bascule sur un onglet particulier d'un tab?
Une idée, un exemple?
d'avance merci

8 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
52
Salut,
Si l'application a "changé", ça veut dire qu'elle est paramétrable et que donc tu as un fichier (ou autre...) de configuration pour se souvenir des options de l'utilisateurs. Dans ce cas, tu peux créer un fichier "default", qui contient des valeurs par défaut pour le programme, ou alors peut-être mieux, coder ces valeurs en dur dans le programme.

Si le fichier de configuration n'est pas trouvé à l'ouverture du programme, alors c'est ces valeurs en dures qui sont appellées. Si tu veux faire un bouton, même idée, il faut appeler les valeurs stockées en dur dans le programme.

J'espère avoir bien compris la question

<hr />
-My Blog-
Messages postés
40
Date d'inscription
lundi 18 février 2002
Statut
Membre
Dernière intervention
5 novembre 2012
4
en fait c'est une appli qui envoie des infos sur une liaison USB, avec plein de machines à état imbriquée les unes dans les autres.... je souhaite quand j'appuie sur le bouton repartir comme au démarrage en attente d'une trame.... Voilà pourquoi je veux reiniailiser l'appli sans la fermer !
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Salut,
Tu peux faire ceci dans ta class Program

static class Program
{
 public static bool ReStart = false;
 static void Main()
 {
  do
  {
   Application.Run(new Form());
  }while(ReStart);
}

Si tu veux redémarrer ton application:
  1) Program.ReStart = true;
  2) Tu ferme ta fentere principale (Form)

A+
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Salut,

N'oubliai pas "Réponse accepter" si la réponse te convient

A+
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Salut,

xmox667 : ta solution ne devrait pas fonctionner
"do
  {
   Application.Run(new Form());
  }while(ReStart);
"
Il n'est pas prévu de pouvoir relancer une seconde boucle de message sur le même thread.

/*
coq
MVP Visual C#
CoqBlog
*/
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
Salut Coq,
Si elle fonction car je l'utilise dans plusieurs des mes applications.
Ce n'est pas moi qui l'es inventé, je l'ai trouver sur un site de programmation.
Pour redémarrer, je ferme la fenêtre principale celle qui lancé par Application.Run() avec la méthode Close().
A+
Messages postés
40
Date d'inscription
lundi 18 février 2002
Statut
Membre
Dernière intervention
5 novembre 2012
4
Ok mais moi je n'ai pas envie de fermer mon application, je veux juste fermer 2 onglets, en ouvrir un 3ème et repartir dans l'état initial.
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Huuuuum, j'ai confondu avec autre chose alors.
Je ne pense pas que ce soit avec l'appel à SetUnhandledExceptionMode donc ça me fait peur : j'ai oublié un truc important :p

/*
coq
MVP Visual C#
CoqBlog
*/