Control utilisateur (débutant)

Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
- - Dernière réponse : ThoT49
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
- 25 juil. 2007 à 00:04
Bonjour, je viens de me lancer dans le C#, je voudrais faire une application utilisant des users controls.
Je pratique le VB depuis longtemps et je pensais que cela pourrais se rapprocher au niveau des controls utilisateurs mais je me suis trompé ... donc j'ai un problème ...

J'ai réussi à ouvrir un control utilisateur depuis une form, mais je n'y arrive pas depuis un autre control utilisateur...
voyez si dessous ...

Code C#
UcFirst

First =
newUcFirst (); First.Visible true;First.Dock

DockStyle.Fill;First.AutoSize =

true;Fenetre.ContentPanel.Controls.Add ( First );

En VB c'est éxactement la meme chose...

Cepandant, depuis un autre control utilisateur cela pose problème...

UcMenu

Menu =
new
UcMenu ();
Menu.Visible = false;

Menu.Dock = DockStyle.Fill;

Menu.AutoSize = true;

et là problème.. je n'arrive pas a faire ...
Mainform.fenetre.contentpanel.controls.add(menu) comme en vb

Alors si vous pouvez m'aider ou est l'érreur ? merci ;)
Afficher la suite 

12 réponses

Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009
0
Merci
Ben désolé si je gache ton post ... mais si c'est du copier coller... y une faute... "Menu" et pas "menu"

Mainform, c'est ta form... Es ce que tu essais d'ajoouter un controle dans une form différente?

NB : Si ca viens du controle utilisateur, c'est pas de son code d'initialisation qu'on a besoin
Commenter la réponse de cs_Yxion
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
non la derniere ligne de code n'es pas du copier collé, c'est moi qui l'es écrit car en faite je croyai qu'il fallait faire comme cela...
Mainform c'est bien ma form et c'est sur cette form il y a un toolstripcontentpanel nommé fenetre.contentpanel.
J'ai un premier usercontrol nommé UcFirst que j'arrive à afficher dans ce toolstripcontentpanel grace au code que je vous ai fourni ci-dessus en premier. Maintenant mon problème est que lorsque je click sur un bouton dans mon control utilisateur UcFirst, je voudrais afficher UcMenu dans le toolstripcontentpanel de ma Mainform.

En vb il n'y a pas de soucis cela fonctionne comme ceci. Cepandant pas en C# donc c'est pour cela que j'ai besoin d'aide :)
Commenter la réponse de ThoT49
Messages postés
195
Date d'inscription
dimanche 10 février 2002
Statut
Membre
Dernière intervention
16 février 2016
0
Merci
Quelle erreur te donne t-il ?
Commenter la réponse de cs_rodcobalt22
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
il me dit :

monlogiciel.main ne contient pas de définition pour fenetre.
Commenter la réponse de ThoT49
Messages postés
303
Date d'inscription
mardi 11 février 2003
Statut
Membre
Dernière intervention
24 avril 2009
4
0
Merci
Fenetre nécessite une majuscule :)

Eric
Commenter la réponse de ricklekebekoi
Messages postés
195
Date d'inscription
dimanche 10 février 2002
Statut
Membre
Dernière intervention
16 février 2016
0
Merci
a part une mauvais orthographe sur le nom de ta fenêtre, je ne vois pas.
Méfie toi et regarde bien si le nom de ta classe correspond bien au type définie dans ton main (J'ai bien dit nom de la classe et pas nom de ton fichier .CS).

Sinon, ton intelisense trouve t-il ta fenêtre ?
Commenter la réponse de cs_rodcobalt22
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
non mon intellisence ne trouve pas la Fenetre (je vous dis les majuscules ce n'est pas ça)...
Commenter la réponse de ThoT49
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
Mais personne ne peut me montrer comment faire pour mettre depuis un usercontrol1, un usercontrol2 dans la form1 qui contient un contentpanel ?
Commenter la réponse de ThoT49
Messages postés
219
Date d'inscription
jeudi 6 juillet 2006
Statut
Membre
Dernière intervention
7 septembre 2009
0
Merci
Pour un controle Panel du nom de "contentPanel", un UserControl du nom de "usercontrol1" issus d'un controle utilisateur du même projet du nom de "UserControl1" et une Form du nom de "Form1" :

1 . On insert le Panel et le UserControl dans la Form (en mode Design.. plus simple) et on s'assure des nom qu'ils ont....

2 . On pousse l'événement du UserControl "usercontrol1" sur lequel on veux que l'action se passe (je vais prendre Click)  soit par le Designer, soit à la main en prenant soin de le faire après "InitializeComponent();" :

   this.usercontrol1.Click += new EventHandler(usercontrol1_Click);

et créer la procédure suivante correspondant à l'événement :

   void usercontrol1_Click(object sender, EventArgs e)
   {}

2. On compléte l'évènement pour qu'il insert le nouveau control du nom de "UserControl2" :

   this.contentPanel.Controls.Add(new UserControl2());

<hr />
I love .net
Commenter la réponse de cs_Yxion
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
Désolé mais je n'y arrive toujours pas, et c'est depuis le Usercontrol1 que je veux demander au usercontrol2 de s'afficher dans le content panel de ma form.

Merci beaucoup d'avoir éssayé de m'aider ...
Commenter la réponse de ThoT49
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
Autrement si vous n'arrivez pas à m'aider... es ce que vous pourriez m'indiquer une source que je pourrais télécharger qui utilise plusieurs usercontrols? Car moi je n'en n'es pas trouvé ...
Commenter la réponse de ThoT49
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
c'est bon quelqu'un ma gentilment montré comment faire ;)
Commenter la réponse de ThoT49