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

Signaler
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
-
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
-
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!

6 réponses

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

Je déclarait :

UserControl myUC= new UCcreer();

mais avec :

UCcreer myUC= new UCcreer();

là ça marche!
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
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
Messages postés
93
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
16 septembre 2010
2
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);
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
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
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Exact: j'avais même pas vu dans ton exemple ^^

Bonne journée,


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