Comment écrire sur une textbox de plusieurs classes?

Signaler
Messages postés
50
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
25 mai 2010
-
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
-
Bonsoir,

J'aimerais que lorsque je rencontre une exception, j'écrive un string dans une textbox. Par exemple si une erreur survient dans la classe connexion, le catch envoie "problème de connexion au serveur" dans la textbox de mon application.
Sachant que mon exception est appelée par un autre thread que celle de ma form.
Quelqu'un saurait-il m'éclairer?

Merci

1 réponse

Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
23
Bonsoir,

Pour ce faire, il te faut jouer avec les fonctions déléguées et la méthode invoke.
Donc, en considérant que tu as accès à ta form. Tu créés les éléments suivant dans ta classe "MainForm":

public delegate void SetExceptionCallback(string message);

public void SetException(string message)
{
if (this.InvokeRequired)
{
SetExceptionCallback t = new SetExceptionCallback(SetException);
this.Invoke(t, message);
}
else
{
//Ton traitement de mise à jour de textbox
//txtbox.Text = message;
}
}

Tu n'as donc plus qu'à appeler cette méthode ^^