Utiliser un objet public [Résolu]

Signaler
Messages postés
5
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
23 octobre 2008
-
Messages postés
5
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
23 octobre 2008
-
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

3 réponses

Messages postés
5
Date d'inscription
mardi 14 octobre 2008
Statut
Membre
Dernière intervention
23 octobre 2008

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
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
22
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
Messages postés
357
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 décembre 2011
3
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+