Passer des paramètres et appeler des méthodes dans un user control! [Résolu]

Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
- - Dernière réponse : sachie
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
- 22 oct. 2008 à 16:11
Bonjour!

Je n'avais jamais utilisé trop les user controls.
J'ai décidé de faire une appli où il y aurait une forme de base avec en haut gauche et droite des menus fixent et au centre un espace qui se modifie selon les opérations désirées!
J'ai donc voulu faire plusieurs usercontrol, un par opération, ça m'évite de refaire plusieurs forme alors que la plupart des éléments sont constants!

Seul petit hic, je n'arrive pas à passer des paramètres ou appeler des méthodes non static de mes user controls à partir de ma form!

Connaissez vous une solution?
Merci!
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
2
3
Merci
Bon résolu truc tout bête!

Je déclarait :

UserControl myUC= new UCcreer();

mais avec :

UCcreer myUC= new UCcreer();

là ça marche!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 217 internautes nous ont dit merci ce mois-ci

Commenter la réponse de sachie
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
0
Merci
Bonjour,

Du moment que tu déclares tes méthodes de tes UserControl en public, je ne vois pas où tu bloques ?

Exemple:
UserControl1.cs

Code:
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}

public void Test()
{
}
}

Alors si tu ajoutes ton UserControl sur ta Form.
Tu pourras appeler la méthode test de cette façon:
userControl1.Test();

Pour les paramètres, il te suffit de les mettre:
- soit en entrée dans tes méthodes
- soit passer tes paramètres via le constructeur de ton UserControl
- soit jouer avec des événements


- et tu peux aussi dialoguer avec ta form parent et appeler des méthodes
Exemple: ta Form1 contient une méthode publique:
public void DoOnForm()
{
}

Alors dans le code de ton UserControl:
//...
Form1 parent = this.ParentForm as Form1;
parent.DoOnForm();
//...


Voici un lien intéressant pour le passage de paramètre. Tu devrais trouver ton bonheur: http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx
Il s'agit de passage de paramètre entre Forms mais ca s'adapte bien sur Form <->UserControl

Bon courage,


Billou_13
Commenter la réponse de billou_13
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
2
0
Merci
Bizarre moi ça ne marche pas!

J'ai user control : UCcreer

J'y place une méthode :

public void banalMethod(string unTypeAuHasard)
{

}

Puis dans ma form:

UserControl monUc;

...
...
..
monUc=new UCcreer();

mais je n'arrive pas à placer :

monUc.banalMethod(vlaTonString);
Commenter la réponse de sachie
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
0
Merci
Comme tu dis: bizarre ^^

As-tu bien mis la déclaration de ta méthode dans ta classe UICreer ?

public partial class UICreer : UserControl
{
public UICreer()
{
InitializeComponent();
}

public void banalMethod(string unTypeAuHasard)
{
}
}

Parce que je viens de tester, et ça marche de mon côté ^^


Billou_13
Commenter la réponse de billou_13
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
0
Merci
Exact: j'avais même pas vu dans ton exemple ^^

Bonne journée,


Billou_13
Commenter la réponse de billou_13
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
2
0
Merci
Et merci de ton intérêt à mon problème billou_13!
Commenter la réponse de sachie