Comment arrêter le déroulement du programme [Résolu]

Signaler
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008
-
Bonjour,

Je cherche à arrêter le déroulement du programme sous une certaine condition? En clair, je voudrais faire cela :

if (condition==true)
{
stop;
}

sauf que la fonction stop n'existe pas en C#. Laquelle dois-je utiliser pour obtennir ce résultat ?

Merci d'avance.


Mathmax

7 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Ba c'est justement pour ça que la méthode retourne un booléen au lieu de rien.

/*
coq
MVP Visual C#
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Salut,

"Arrêter" c'est un peu trop vague.
Quitter l'application ou la mettre en "pause" ?
Application Console ou WinForm ?

/*
coq
MVP Visual C#
*/
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

application WinForm et je veux que le programme redevienne comme quand on le lance. J'explique ce qui se passe dans mon cas :

J'ai un bouton, qui quand je clique dessus lance un void. Dans ce void je veux pouvoir arrêter mon programme sous une condition. En fait je veux ignorer tout ce qui suit dans le void et tout ce qui suit dans le button1_Click.


Mathmax
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
void est le type de retour (en l'occurence, rien), je suppose que tu voulais dire "méthode".

Dans ton cas je te conseille de prévoir ce type de comportement directement.

Basiquement ça peut donner quelquechose de ce genre (en code "made in textbox") :

private void button1_Click(blabla)
{
bool mustAbort = this.EffectueTraitement();
}

private bool EffectueTraitement()
{
// ...
if (condition==true)
{
return true; // le traitement doit être arrêté
}
else
{
return false; // le traitement doit continuer
}
}

/*
coq
MVP Visual C#
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
J'ai oublier un bout du code :
private void button1_Click(blabla)
{
bool mustAbort = this.EffectueTraitement();
if ( !mustAbort )
{
// suite de traitement
}
}


private bool EffectueTraitement()
{
// ...
if (condition==true)
{
return true; // le traitement doit être arrêté
}
else
{
return false; // le traitement doit continuer
}
}

/*
coq
MVP Visual C#
*/
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

Le problème c'est que c'est seulement dans ma méthode void que je peux tester la condition d'arret. Le cas échéant, je veux arrêter tout ce qui suit dans la méthode (donc la ta méthode du if conviendrait), mais aussi tout ce qui suit l'appel à la méthode void dans le button1_Click et là je ne peux pas tester ma condition d'arret...


Mathmax
Messages postés
403
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
31 août 2008

Ah ok, je ne l'avais pas compris comme ça. Ton truc me conviens alors. Merci !


Mathmax