begin process at 2010 02 10 00:31:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > CRÉER SON PROPRE DESIGNER COMME CELUI DE VISUAL STUDIO

CRÉER SON PROPRE DESIGNER COMME CELUI DE VISUAL STUDIO


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Source .NET ( DotNet ) Classé sous :Designer, Winform, visualstudio, Form Niveau :Initié Date de création :28/01/2008 Date de mise à jour :28/01/2008 20:20:24 Vu / téléchargé :8 411 / 753

Auteur : ShareVB

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note


 Description

Ce code montre comment utiliser les fonctionnalités incluses dans le framework lui même et qui permettent d'obtenir "la même" surface de Designer Windows Forms que Visual Studio. En fait le framework lui même contient déjà toutes les classes nécessaires à la création d'un Designer. Visual Studio ne fait que surcharger et ajouter aux fonctionnalités de bases au Designer du framework.

Je suis tombé il y a un moment sur un article qui traitait de l'embarquement de la surface du Designer Winform dans une application 1.0/1.1 : http://www.divil.co.uk/net/articles/designers/host ing.asp. A l'époque cela était assez difficile car aucune classe de base n'existait et il fallait tout implémenter soit même.

Depuis, un article encore plus intéressant (http://msdn.microsoft.com/msdnmag/issues/06/03/De signerHosting/) est venu montrer les fonctionnalités pour faire cette même embarcation avec le framework 2.0. Et là, surprise, il y a toutes les classes de base qu'il faut pour afficher le Designer.

Reste donc à la charge du développeur : le service de nommage des nouveaux contrôles, la boîte à outils et la classe de chargement/enregistrement de la hiérarchie de contrôle. Pour l'édition des propriétés, il existe déjà le PropertyGrid.

En résumé ce code est une simplification du projet attaché à l'article de MSDNMag. Il montre l'implémentation d'une surface de Designer avec une boite à outils sans catégories, la possibilité d'ajouter/supprimer des contrôles sur la Form et l'édition des propriétés avec le PropertyGrid. Le chargeur/enregistreur se base sur un fichier Xml (test.xml) décrivant les contrôles présents sur la surface du Designer.


 Conclusion

N'hésitez pas à commenter et à noter !

Un article pourrait suivre sur l'architecture du Designer Winform.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

28 janvier 2008 00:04:09 :
mots clés
28 janvier 2008 20:20:25 :
correction du chargement et de l'initialisation

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY...
Source avec Zip Source .NET (Dotnet) EXTRACTION DES MINIATURES DES FICHIERS (COMME DANS L'EXPLORA...
Source avec Zip Source .NET (Dotnet) VSADDINLIB : UN MINI FRAMEWORK POUR CRÉER VOS ADDIN POUR VIS...
Source avec Zip Source .NET (Dotnet) MODÈLE POUR CRÉER VOS BANDEAUX INTERNET EXPLORER/WINDOWS EXP...
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN C# OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCISANT...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION DE L'API VIRTUAL DISK IMAGE DE WINDOWS 7 par Willi
Source avec Zip Source .NET (Dotnet) CHESS GAME CORE - LIBRAIRIE JEU D'ÉCHEC EN C# par Bidou
Source .NET (Dotnet) CHANGER LA RESOLUTION DE VOTRE ECRAN, UTILISATION DES API WI... par mechtaly
Source avec Zip Source .NET (Dotnet) CSVSHARP. DLL D'IMPORT/EXPORT DE CONTENU AU FORMAT CSV par heriquet
Source avec Zip Source avec une capture Source .NET (Dotnet) INJECTER UNE DLL DANS UN PROCESSUS par Misugii

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLER L'UTILISATION DES COMPOSANTS VISUELS SUIVANT LA VE... par Willi
Source avec Zip Source avec une capture Source .NET (Dotnet) LANCER UNE FEUILLE FILLE MDI UNE ET UNE SEULE FOIS par anadeveloppeur
Source avec Zip Source avec une capture Source .NET (Dotnet) HORLOGE FLOTTANTE SUR LE BUREAU AVEC CHOIX FUSEAU par smiloo
Source avec Zip Source avec une capture Source .NET (Dotnet) LIBRAIRIE TRÈS COMPLETTE DE CONTROLS WINFORMS PERSONNALISÉS par jmenfous
Source avec Zip Source .NET (Dotnet) GESTION D'ÉVENEMENTS INTER FORM par ecosmose

Commentaires et avis

Commentaire de Aurazed le 28/01/2008 07:12:50

Il manque un fichier à ton application : test.xml

Commentaire de pifpafpouf le 28/01/2008 16:22:01

Bonjour,

C'est une bonne source qui présente un bon point de départ.

Par contre quelques fautes d'inattention :
- Le fichier xml manquant qui léve une exception à l'exécution (il suffit de sauter l'exécution de cette ligne) pour continuer jusqu'à la prochaine exception.
- là il faudra tester            
if (xml == null || xml.DocumentElement==null)//**
            {
                //si pas de XML alors composant vide
             IComponent root =                 this.LoaderHost.CreateComponent(typeof(Form));
                Control rootCtrl = (Control)root;
                rootCtrl.Name = "Form1";//**
            }

- La non-affectation d'un nom au formulaire lévera une exception au chargement suivant

Sinon cela prouve bien qu'en trouvant la bonne classe, peu de code pour récupérer un maximum de choses !
Bien trouvé.

Commentaire de ShareVB le 28/01/2008 20:23:19

Bonsoir,

voilà c'est corrigé...le fichier test.xml est celui qui sauvegarde la Form dans le dossier de l'application...par contre, en fait il faut préciser le nom par défaut de le Form dans le CreateComponent sinon visiblement, il n'est pas pris en compte...

ShareVB

Commentaire de veler le 28/01/2008 21:52:49

Salut, j'arrive pas à lire le projet avec VS 2005. quand je décompresse les fichiers, il me dit qu'ils sont corompus, c'est bizarre :(

Commentaire de Bidou le 29/01/2008 19:30:47 administrateur CS

Sympa, bonne source!

Commentaire de stailer le 30/01/2008 21:30:24

Effectivment excellent... je sais pas encore pour quoi je vais m'en servir, mais c'est sur je vais vite trouver une utilité :)

Commentaire de veler le 30/01/2008 21:50:43

Salut, voila un ans que je connais ce code en partie sous VB.Net. Et bientôt un an que je travail sur un projet en partie basé sur ça. N'avez-vous donc jamais rêvé de pouvoir créer votre logiciel sans taper une seul ligne de code? C'est le projet que je fait. Software Creator 2008, vous pouvez le voir ici: www.velersoftware.fr.nf
A+

Commentaire de stailer le 01/02/2008 18:58:06

csharpdevelop est basé sur ce système et de bien plus d'un an ;) .. Mais il est toujour intéressant d'avoir ce code sur le site de codes-sources. Tout simplement parce que ton logiciel ne convient pas à mes besoins, et que je préfère développer le mien ;) . Sinon créer mon logiciel "sans taper une ligne de code" ..non j'y crois pas. Y a toujours un moment ou les spécificités du projet ou de la structure dans laquelle tu travailles vont t'obliger à coder toi même une grosse partie de l'application.

Commentaire de veler le 01/02/2008 19:02:15

Oui, c'est bien qu'il soit sur le site^^

Euh, pour mon logiciel, j'ai bien pensé à ça, on ne pourras pas créer des application à l'infinie biensure, mais des application basic (éditeur de texte ou autre) sont tout à fait faisable.... Et puis, ça évite une perte de temp pour les débutants devant faire un petit menu pour une jeux video par exemple (les menus que l'on vois quand on met le cd dans le lecteur)... Bon, j'arrête de massacré les comme avec mon projet..... on est là pour parler du code ShareVB

Commentaire de poulpe86 le 12/11/2008 10:08:14 10/10

Excellente source parfaitement claire et commentée !

Merci d'avoir mis ce travail à disposition du plus grand nombre.

Commentaire de veler le 25/04/2009 17:41:57

Salut,

Euuuh, est-ce que vous savez comment sérialiser le concepteur de vue de façon à obtenir une class ? comme VS en fait^^
Voila 2 semaines que je galère avec :(

Commentaire de ShareVB le 27/04/2009 23:45:18

Salut Veler,

En fait, le problème c'est que le Loader du designer de Visual Studio fait partie de Visual Studio lui même (et pas de ses redist) et tu n'as pas le droit de les utiliser en supposant qu'ils ne soient pas internal

ShareVB

Commentaire de veler le 28/04/2009 07:15:31

Donc en gros, microsoft interdit la concurrence, c'est ça? lol

Commentaire de ShareVB le 28/04/2009 19:39:55

En fait, c'est aussi surtout le faite qu'il n'existe pas de parseur de code dans le framework : tout est implémenté dans VS

Commentaire de surfzoid le 04/11/2009 15:56:21

VELER, l'exemple fournit ici te permetra de generer ton code :
http://msdn.microsoft.com/fr-fr/magazine/cc163634(en-us).aspx
Tu as aussi l'implementation en cours de Mono (http://www.mono-project.com/WinForms_Designer) , qui te montre comment generer le code VB,~# ou XML, c'est tous a fait possible avec "using Microsoft.CSharp;"

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

[C# WinForm] Méthode depuis UserControl [ par stailer ] Salut,Alors je vais essayer de faire simple :Comment appeller une méthode d'un formulaire depuis un usercontrol ?J'ai bien essayé ceci :public void bo Problème avec le designer de Visual Studio [ par zigxag ] Bonjour, j'ai un problème avec le designer de Visual Studio. Voilà mon problème : J'ai créé une classe "CustomForm" héritant de System.Windows.Forms Questions sur winform & pb d'ouverture de projet [ par raboin ] Alors voila j'ai rechercher des informations servant a ouvrir une nouvelle fenetre en cliquant sur un bouton et lorsque j'insere le code au momen [WinForm] [PictureBox] transparence [ par stailer ] Salut tout le monde,J'ai un problème avec les PictureBox :Je mets un picturebox sur une form avec une image... Je rajoute un picturebox avec comme bac perte de données avec le designer VS 2003 [ par fregolo52 ] Bonjour, Ce n'est pas la 1ere fois que ça m'arrive et ça me gave. J'ai créé ma propre TreeView dérivée de l'objet TreeView Winform. Je la place sur ma Composant Flash en WinForm [ par Bubuss ] Salut tout le mondeJ'aurai souhaité savoir si c'était gérable d'intégrer une animation flash à une form en l'utilisant comme un control pour instancie winform sans titre PB ? [ par oliv666 ] Bonjour, J'ai enlevé les bordures de mon Form. Pour pouvoir déplacer cette fenetre j'ai rajouté cette méthode :protected override void WndProc( ref Me Form designer [ par bmouget ] Je voudrais créer une application dans laquelle il serait possible de "Designer" des formulaires (comme dans Visual Studio).Si quelqu'un a déjà eu ce Designer : switcher entre le Form et les TabControl [ par raboliot ] Bonjour,Sous VS 2005, avec le designer, comment peut-on travailler sur le Form et le Tabcontrol sans avoir à redimensionner le Tabcontrol ?En effet, j Problème designer de visual studio 2005 [ par xmox667 ] Salut à tous, voilà mon soucis :J'ai une Form qui contenait des controls standards.Lorsque je l'ouvre avec le designer de visual studio 2005 , elle ap


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,031 sec (3)

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