Créer son propre designer comme celui de visual studio

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 !

Codes Sources

A voir également

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.