C# Accès à une winform depuis une methode static

Résolu
cyrare Messages postés 20 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 18 décembre 2008 - 15 avril 2005 à 14:36
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 - 16 avril 2005 à 15:41
Bonjour,



Je fais une appli windows en C#, et je voudrais modifier une textbox, à
partir d'une méthode static. Le problème, c'est que je ne trouve pas
comment l'atteindre, quoi que je fasse, le compilateur me jette. Je ne
comprend pas comment accéder à une instance à partir d'une méthode
static... Le problème, c'est que je ne peux pas passer le textbox par
référence parce que cette méthode est un callback...



public static void AcceptCallback(IAsyncResult ar)

{

.....

textBoxLog.Text += "Telnet : Erreur lors du AcceptCallback";

}



Quelqu'un aurait-il une idée pour atteindre ma form à partir d'une méthode statique ?

4 réponses

cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 99
15 avril 2005 à 18:43
Comment ça une copie ?
Form est une classe, soit un type reference.
Et AsyncState est un object, ça tombe bien :-)
Ce que tu passes c'est une référence à ton Form, donc à partir de là tu peux faire un appel de méthode dans ton instance de form qui va aller modifier le contenu du TextBox.

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
cs_coq Messages postés 6351 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 99
15 avril 2005 à 14:56
Salut,

IAsyncResult.AsyncState : tu pourrais te servir de ça non ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cyrare Messages postés 20 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 18 décembre 2008
15 avril 2005 à 18:18
Merci Coq de ta réponse, je peux effectivement m'envoyer une copie de
ma Form, mais ça m'aide pas pour la modifier... Il me faudrait soit
atteindre l'originale, soit envoyer une référence, et ça j'y arrive pas
...
0
sebseb42 Messages postés 495 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 9 novembre 2007 1
16 avril 2005 à 15:41
ouais, tu peux aussi faire du barbare et passer ton TextBox, et ensuite faire ca :

((TextBox)IAsyncResult.AsyncState).Text = "blabla";

ton TextBox est un objet, donc ce qui est passer est une reference (je ne fait que confirmer les dire de coq :))
0