Utiliser un objet public [Résolu]

Messages postés
5
Date d'inscription
mardi 14 octobre 2008
Dernière intervention
23 octobre 2008
- - Dernière réponse : mfabio1902
Messages postés
5
Date d'inscription
mardi 14 octobre 2008
Dernière intervention
23 octobre 2008
- 23 oct. 2008 à 11:50
Bonjour,

J'ai une fenêtre Form1 qui possède une DataGrid.
J'ai créé cet objet par glissé-déposé et le code CS de Form1 est vide.

J'aimerais utiliser et modifier mon objet DataGrid dans Form2 mais il n'est pas accessible.

Comment rendre cette objet public à tout mon projet ?

Merci

Fabien
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
5
Date d'inscription
mardi 14 octobre 2008
Dernière intervention
23 octobre 2008
3
Merci
Oui je sais que le fichier CS est vide et j'ai vu dans le Designer.cs que l'objet existe. J'ai modifié Modifiers pour le mettre en Public mais rien ne change.

J'ai passé mon objet DataGrid en tant que Resource dans un autre fichier, je sais que son contenu sera fixe et j'en aurai besoin souvent dans mon projet.

Dans Form2 sur l'évènement voulu je créé une nouvelle DataGrid et au lieu de faire new DataGrid(), j'appelle ma Resource.

Ca marche !






A+  et merci


Fabien

Dire « Merci » 3

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

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

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

Pour ce faire, tu dois:
- soit passer ton DataGrid à Form2 en paramètre (via le constructeur).

- soit lancer des événements dans Form2 qui seront intercepté dans Form1 qui lui même fera les actions nécessaires sur le DataGrid.

Perso, je préfère largement la seconde solution car je n'aime pas trop faire passer les objets d'une form à une autre surtout lorsqu'il s'agit à la seconde form d'influencer l'objet de la première.
Comme on dit, chacun son boulot, la form1 gère ses controles et la form2 les siens. S'ils doivent dialoguer, alors j'utilise des événements.
Enfin, ce n'est que mon avis...

Je te propose de lire un lien intéressant qui t'expliquera très bien les passages de paramètres (décidement, pas une journée sans mettre ce lien ds un post => faudrait penser à mettre un lien direct de la page d'accueil pour les nouveaux ^^):
http://www.csharpfr.com/codes/PASSAGE-PARAMETRES_26735.aspx

Bonne journée,


Billou_13


PS: C'est normal que le code CS de Form1 soit vide, quand tu fais un glisser déposer, le code est génére ds le fichier "Form1.Designer.cs". Mais ton objet existe bel et bien (regarde le nom du DataGrid dans le design, tu y auras accès dans ton code
Commenter la réponse de billou_13
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Dernière intervention
26 décembre 2011
3
0
Merci
Salut,
Si tu utilise Visual Studio ou Visual c# :
Dans la fenêtre des propriétés, tu as la propriété Modifiers qui se trouve dans la catégorie  Design.
Il suffit de la passer soit à Public ou à Internal.
Les composants visuel sont composés de 2 fichiers minimums.
Exemple pour une Form nommée Form1 tu as:
Form1.cs : Le fichier où tu entre ton code
Form1.Designer.cs : Le fichier qui contient le code généré quand tu utilise le designer .
A+
Commenter la réponse de xmox667

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.