begin process at 2010 02 09 21:32:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

réutilisation de formulaire et classes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

réutilisation de formulaire et classes

vendredi 5 juin 2009 à 11:17:44 | réutilisation de formulaire et classes

cudenetf

Bonjour,
je développe plusieurs projets dont j'aimerais pouvoir réutiliser les formulaires.
Je m'explique :
Jusqu'a maintenant, je faisais des "ajouter element existant" et je renommais la partie namespace avec mon nouveau nom.
Le probleme c'est que si je fais une amélioration dans un projet , je dois tout reprendre dans l'autre..
Je travaille également avec des bases de données et donc des datasets . Je me débrouille pour que les tables aient toutes les meme structures mais elles peuvent appartenir a des bases de données différentes et meme de type different (sqlexpress ou firebird).
Prenons un exemple:
je travaille sur un projet 1 sous sql express
- dans ce projet , je definis une table utilisateur (login,mot de passe ,niveau,etc...)
-et je fais des formulaires relatifs a cette table (forumlaire de login, modification du mot de passe, etc...)

J'ai un autre projet (disons le 2) que je veux faire sous firebird et je voudrais réutiliser les formulaires relatifs aux utilisateurs créés dans le premier projet.

et que quand je fais des modifs sur les formulaires , je n'ai qu'à les faire une fois ...

Un autre truc, je voudrais faire une fonction qui récupère les erreurs du programme, par exemple (elle notifie l'erreur a l'utilisateur, ecrit l'erreur ds un fichier,me la reporte par mail , etc...)

j'ai créé une class_erreur avec une procedure statique qui fait le travail

Je voudrais pouvoir utiliser cette class de n'importe quel autre projet.

Pour les connexions aux bases de données , j'ai également créé une class_bd (avec les fonctions insert,etc...) qui prend en parametre le type de base et qui sait comment la traiter. mais puis je faire de meme avec les datasets créés par visual studio ? Il faudrait que je puisse paramétrer le chemin d'accès aux differentes bases.

Exemple : J'ai une base de données bd1 avec la table utilisateur sous sqlexpress
               et un datagridview dans un formulaire de mon projet 1 avec la liste des utilisateurs

             je crée une nouvelle base de données bd2 sous firebird avec la meme table utilisateur (meme champs ,memes types) mais egalements d'autres tables differentes de celle de bd1 ( disons pour simplifier que la seule table commune est la table utilisateur)
           et je voudrais pouvoir réutiliser les memes formulaires relatifs a l'utilisateur (avec juste comme parametre  la connexion a la bd)

Dois je developper un premier projet qui s'appelle juste utilisateur ? et qui sera réutilisé comme dll par les autres ?

Je suis un peu confus et je ne sais par ou commencer ... j'ai un probleme d'organisation a ce niveau ...

Merci pour votre aide

samedi 6 juin 2009 à 09:10:49 | Re : réutilisation de formulaire et classes

Robert33

Membre Club

Bonjour

Tu as la réponse dans ta question.
Oui tu dois faire un projet qui génère une DLL réutilisable dans les autres projets.

Crée une solution, dans laquelle tu ajoutes, par exemple, les 2 projets que tu as en ce moment.
Au niveau de la solution ajoute un nouveau projet de type "Class library" définis l'espace de nom par défaut (defaut name space) par ex "MyClassLibrary".
Tu peux supprimer la class créée par VS

Glisse dans cette librairie de classes les classes d'un des 2 autres projets que tu veux mutualiser et supprime les de l'autre (pour éviter les doublons inutiles).
Dans le code de chacune des classes ajoutées à la librairie, pense à modifier le namespace pour utiliser celui de ta librairie.

Dans les 2 autres projets, ajoute une référence à cette librairie de classes, (dans la fenêtre des références choisi Projets puis ton projet de librairie de class)
ajoute dans le code de tes projets la clause "using" avec le namespace de ta librairie de class.

Bon voilà,
recompile le tout.

Pour un nouveau projet qui veut utiliser cette librairie, il suffira d'y ajouter une référence, et de déclarer la clause using.
Pour les références, lorsque la librairie de classes n'est pas dans la solution, il suffit de rechercher la DLL (bouton Browse dans la fenêtre d'ajout de référence)
mai l'avantage de l'avoir dans la solution est de pourvoir la modifier en temps réel, à la compilation la DLL sera recompilée avant les projets.

Autre, chose, une librairie de classes permet de partager du code, mais pour les interfaces graphiques il existe aussi la possibilité de créer des composants utilisateur "user control" cela permet de mutualiser des interfaces, même très complexe, sans pour autant figer des formulaires.
Par exemple c'est ce qu'on utilise pour des saisies, on met dans une librairie de classe un user control et une classe d'accès aux données, ces 2 éléments étant utilisés par d'autres applications.

à toi de jouer.
C# is amazing, enjoy it!



Cette discussion est classée dans : table, données, projet, utilisateur, formulaires


Répondre à ce message

Sujets en rapport avec ce message

[C#]Envoyer des données entre formulaires? [ par KiK ] Salut,J'ai 2 formulaires avec des champs de texte sur chacun. Sur le premier j'ai un bouton de validation.J'aimerai lorsque je clique sur le bouton de Méthode de développement OBJET [ par tiboleo ] Bonjour, Je vous expose ma façon de concevoir. Pourriez vous me donner votre avis et/ou m'orienter ? Base SQL SERVER MCD OK Dans l'appli C#, je crée l Datagrid+base de données [ par fryounet ] Bonjour à tous,voila je programme en C#,j'ai réalisé un DataGrid et une connexion à une base de donnée serveur,la connexion et l'affiche de la table s Interface ? [ par ToshiBaba ] Bonjour,J'ai un souci de conception dans mon projet C#, peut-être que vous pourrez m'aider Ce que je veux faire :une MDI qui instancie quand le besoin Imprimer données formulaires [ par Startrik ] BonjourJe cherche a imprimer toutes les données que contient un formulaire ( à savoir un datagrid, des editbox et des labels). Crystal report semble e comment conserver des données dans un form ? [ par delegouine ] Mon problème : je développe une appli dans laquelle j'utilise plusieurs formulaires. Je ferme donc mon formulaire 1 à l'ouverture du formulaire 2 pour récupérer les donnéees d'un dataset pour remplir une table [ par feuillou ] Bonjour,je débute sur Visual Studio et depuis un mois je n'arrive pas a résoudre un probleme... Je rempli un dataset a l'aide d'une table paradox (.db authentification utilisateur base de données Access en c# [ par liliemumue ] BonjourJe ne connais rien au base de données et la j'avoue que je n'y arrive pas.Deja en premier lieu j'ai cree une base access avec plusieurs tables, [C#][WinForm] Enregistrer les données contenues dans une Form ??? [ par Phenomenium ] Salut.Alors je vous explique le truc :J'ai fait une sorte d'enquete alimentaire, ou l'utilisateur rempli les nom, prenom, age, poids, taille  etc .. d Envoi de données dans une table [ par titi66 ] bonjourJe récupère des informations dans des fichiers XML et je dois compléter une table avec ces données (+ d'autres).J'ai donc mes informations dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales