Communication entre 2 classes du meme namespace [Résolu]

cs_Killan 46 Messages postés jeudi 10 janvier 2002Date d'inscription 5 février 2010 Dernière intervention - 18 juil. 2004 à 00:19 - Dernière réponse : cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention
- 18 juil. 2004 à 02:15
salut,

ma demande est sur un procédé de communication entre 2 classes du meme namespace mais je ne comprend pas

j'ai une form et dedan j'ai une textbox

de l'autre j'ai une classe server

j'aimerai que la classe server puisse afficher son état ds le textbox de la form...

mais pas moyen

la classe server ne voit la textbox que si celle ci est déclarée en static mais dès lors ds la form y a des prob de référence... et le prob tourne en rond...

avez-vous une idée, une solution, qqch ?

merci bcp

Killan
www.daaboo.net
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 18 juil. 2004 à 00:36
3
Merci
tu peux par exemple :

passer le textbox en parametre au constructeur de ta classe serveur (et conserver cette valeur dans la classe), ainsi tu pourras y ecrire directement

ou

coder un event dans la classe serveur que tu declenches quand l'etat change, avec comme argument (ou un des arguments) l'etat dont il est question

Cocoricoooooooo !!!!

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_coq
Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 18 juil. 2004 à 00:51
3
Merci
tu declares un objet TextBox comme membre de ta classe Serveur

exemple :

class Serveur
{
// membres
private System.Windows.Forms.TextBox txtbox_to_update;

public Serveur(System.Windows.Forms.TextBox txtbox)
{
txtbox_to_update = txtbox;
}
}


enfin cette solution est ce que j'appellerais la solution de dépannage, parce que coté réutilisation et maintenance du code c'est pas le top

Cocoricoooooooo !!!!

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_coq
Meilleure réponse
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 18 juil. 2004 à 01:10
3
Merci
bon tant que j'y suis un petit exemple pour l'event (simple) :

dans la classe "Serveur" :
public class Serveur
{
// le delegate nécessaire pour définir l'event
public delegate void StatusChangedEventHandler(string status);

// l'event
public event StatusChangedEventHandler StatusChanged;

// un methode qui va declencher l'event
public void Methode()
{
...
if ( StatusChanged != null )
StatusChanged("blabla"); // déclenhement
...
}
}


pour s'abonner à l'event fourni par Serveur :
serveur.StatusChanged += new Serveur.StatusChangedEventHandler(serveur_StatusChanged);


la methode associée à l'event :
private void serveur_StatusChanged(string status)
{
textBox1.Text = status;
}


Cocoricoooooooo !!!!

Merci cs_coq 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_coq
cs_Killan 46 Messages postés jeudi 10 janvier 2002Date d'inscription 5 février 2010 Dernière intervention - 18 juil. 2004 à 00:42
0
Merci
Comment pourrai-je garder la référence de la textbox...

la passer en paramètre je vois mais la garder pour quelle soit utilisable par les fonctions de la classe je vois pas ?

peux-tu m'éclaircir stp

et faire un event je vois se que tu veu dire mais c encore un peu hard pour moi lol

Killan
www.daaboo.net
Commenter la réponse de cs_Killan
cs_Crazyht 1524 Messages postés mardi 18 décembre 2001Date d'inscription 21 août 2010 Dernière intervention - 18 juil. 2004 à 02:15
0
Merci
Bien petit Coq 3 bonnes reponses sur 3 :)

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
Commenter la réponse de cs_Crazyht

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.