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

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

Votre réponse

6 réponses

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

Merci sachie 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de sachie
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 22 oct. 2008 à 15:47
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
sachie 93 Messages postés jeudi 7 juin 2007Date d'inscription 16 septembre 2010 Dernière intervention - 22 oct. 2008 à 15:54
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
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 22 oct. 2008 à 16:07
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
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 22 oct. 2008 à 16:09
0
Merci
Exact: j'avais même pas vu dans ton exemple ^^

Bonne journée,


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

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.