Passer des paramètres et appeler des méthodes dans un user control!

Résolu
sachie Messages postés 93 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 16 septembre 2010 - 22 oct. 2008 à 15:03
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!

6 réponses

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

Je déclarait :

UserControl myUC= new UCcreer();

mais avec :

UCcreer myUC= new UCcreer();

là ça marche!
3
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
22 oct. 2008 à 15:47
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
0
sachie Messages postés 93 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 16 septembre 2010 2
22 oct. 2008 à 15:54
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);
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
22 oct. 2008 à 16:07
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
22 oct. 2008 à 16:09
Exact: j'avais même pas vu dans ton exemple ^^

Bonne journée,


Billou_13
0
sachie Messages postés 93 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 16 septembre 2010 2
22 oct. 2008 à 16:11
Et merci de ton intérêt à mon problème billou_13!
0
Rejoignez-nous