2010-04-21 3 views
0

Dans mon travail actuel, nous ne sommes pas autorisés à utiliser la liaison de données. J'utilise actuellement un générateur de code (ORM) pour générer les objets de la couche de données. Dans le passé, je générais généralement une source de données (à partir de l'objet) et faisais un glisser-déposer pour ajouter automatiquement les contrôles (avec la liaison de données correcte à WinForm).Comment ajouter des contrôles (par programmation) à un concepteur Visual Studio WinForm

Est-il possible de faire quelque chose de similaire (par programmation) en utilisant Visual Studio?

J'ai essayé d'utiliser l'approche copier-coller (en analysant les données du contrôle, dans le presse-papiers, générées par VS), mais malheureusement le format utilisé par VS pour sérialiser le contrôle dans le presse-papiers est binaire espérait que le format était XML car je peux facilement le modifier). D'autres approches que j'ai essayé était de générer le code du concepteur en utilisant un générateur de code. Malheureusement, cela ne fonctionne que si je veux créer un nouveau formulaire mais, d'un point de vue pratique, il est irréalisable si vous voulez ajouter de nouveaux contrôles à un formulaire existant.

Répondre

1

Les contrôles sont simplement des objets. Toutes les propriétés que vous pouvez définir dans le concepteur peuvent également être définies dans le code. Et les gestionnaires d'événements ne sont que des délégués. Vous pouvez créer l'intégralité de l'interface graphique sans utiliser le concepteur, il vous suffit d'écrire le code. Je l'ai fait plusieurs fois avec des éléments graphiques générés dynamiquement. Passez un peu de temps à lire le code généré par le concepteur de Visual Studio, et vous verrez rapidement comment faire les mêmes choses à la main.

Questions connexes