je sais que dans vb.net vous pouvez simplement faire Exit Sub
mais je voudrais savoir comment quitter un événement de clic dans un bouton?
voici mon code:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
{
//exit this event
}
}
Utilisez l'instruction return
.
Utilisez le mot clé return
.
Depuis MSDN:
L'instruction return termine l'exécution de la méthode dans laquelle elle apparaît et renvoie le contrôle à la méthode appelante. Il peut également renvoyer la valeur de l'expression facultative. Si la méthode est du type void, l'instruction return peut être omise.
Donc dans votre cas, l'utilisation serait:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == "")
{
return; //exit this event
}
}
return; // Prematurely return from the method (same keword works in VB, by the way)
Il existe deux façons de quitter une méthode plus tôt (sans quitter le programme):
i) Utilisez le mot-clé return.
ii) Lancez une exception.
Les exceptions ne doivent être utilisées que dans des circonstances exceptionnelles - lorsque la méthode ne peut pas continuer et ne peut pas renvoyer une valeur raisonnable qui aurait du sens pour l'appelant. Habituellement, vous devez simplement revenir lorsque vous avez terminé.
Si votre méthode retourne void, vous pouvez écrire return sans valeur:
return;
Je suggère d'essayer d'éviter d'utiliser return/exit si vous n'êtes pas obligé. Certaines personnes vous diront avec dévotion de ne JAMAIS le faire, mais parfois, cela a du sens. Cependant, si vous pouvez structurer vos chèques de manière à ce que vous n'ayez pas à y entrer, je pense que cela permet aux gens de suivre votre code plus facilement.
Utilisez le mot-clé return.
return; //exit this event
Vous pouvez simplement google pour "exit sub in c #".
Aussi pourquoi voudriez-vous vérifier chaque zone de texte si elle est vide. Vous pouvez placer le champvalidator requis pour ces zones de texte s'il s'agit d'une application asp.net et vérifier si (Page.IsValid)
Ou une autre solution consiste à ne pas respecter ces conditions:
private void button1_Click(object sender, EventArgs e)
{
if (!(textBox1.Text == "" || textBox2.Text == "" || textBox3.Text == ""))
{
//do events
}
}
Et mieux utiliser String.IsNullOrEmpty:
private void button1_Click(object sender, EventArgs e)
{
if (!(String.IsNullOrEmpty(textBox1.Text)
|| String.IsNullOrEmpty(textBox2.Text)
|| String.IsNullOrEmpty(textBox3.Text)))
{
//do events
}
}