Utiliser un objet public [Résolu]

mfabio1902 5 Messages postés mardi 14 octobre 2008Date d'inscription 23 octobre 2008 Dernière intervention - 23 oct. 2008 à 10:28 - Dernière réponse : mfabio1902 5 Messages postés mardi 14 octobre 2008Date d'inscription 23 octobre 2008 Dernière intervention
- 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
mfabio1902 5 Messages postés mardi 14 octobre 2008Date d'inscription 23 octobre 2008 Dernière intervention - 23 oct. 2008 à 11:50
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

Merci mfabio1902 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de mfabio1902
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 23 oct. 2008 à 11:33
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
xmox667 357 Messages postés jeudi 8 juin 2006Date d'inscription 26 décembre 2011 Dernière intervention - 23 oct. 2008 à 11:37
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.