Créer son propre designer comme celui de visual studio

Soyez le premier à donner votre avis sur cette source.

Vue 14 668 fois - Téléchargée 1 943 fois

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/hosting.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/DesignerHosting/) 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.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
7
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
21 mars 2012

j'avais juste oublié de noter
Messages postés
7
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
21 mars 2012

Bonjour,
Merci très bon point de départ.
Messages postés
463
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
21 avril 2010

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;"
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
14
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
Messages postés
723
Date d'inscription
dimanche 26 novembre 2006
Statut
Membre
Dernière intervention
23 janvier 2013
2
Donc en gros, microsoft interdit la concurrence, c'est ça? lol
Afficher les 17 commentaires

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.