2010-03-20 4 views
6

Je commence mon premier projet C#, et je veux faire un "form designer" (comme celui de VS).Comment puis-je créer mon propre concepteur de formulaires?

L'idée est, il y aura un concepteur visuel de forme avec une boîte à outils limitée, qui générera le code de Python (plus tard plus) pour créer la même forme.

Le problème est, je ne sais pas comment commencer. Tout d'abord, j'ai le concepteur de formulaires dans VS: comment puis-je faire une "forme-dans-une-forme"?

Suivant ... Je n'ai aucune idée de comment cela va être compliqué. Je suppose que je pourrais juste faire apparaître de petites cases à côté de chaque contrôle créé sur le formulaire quand il est cliqué, pour le redimensionner, et faire apparaître une boîte de texte lorsqu'on double-clique ou quelque chose, pour changer le texte ... J'ai une expérience en programmation en C et C++, j'ai fait du PHP depuis plusieurs années et je commence avec Python depuis peu. J'ai généré des formes dynamiquement dans VB6. Compte tenu de cette expérience, suis-je dans la tête avec ce projet?

+0

Décrivez-vous un projet d'exécution C# qui simule une interface utilisateur pour créer des WinForms ici que vous traduisez ensuite "sous le capot" en Python? Ou, parlez-vous de l'interface utilisateur de Design-Time? – BillW

+0

Le premier, je pense. –

Répondre

5

this ressemble à un très bon endroit pour commencer. Il a un très bon exemple pour vous aider à démarrer. Vous pouvez même télécharger sa source (inscription requise).

+0

Super, je vais jeter un oeil à ce code.Je suis sûr que je serai capable de le comprendre à partir de cela - merci –

3

Il semblerait que vous soyez conscient que ce n'est pas trivial pour un premier utilisateur C#. Si vous restez simple, il semble que vous vous dirigiez dans la bonne direction (même si un concepteur de formulaires basé sur le Web pourrait être plus facile). SharpDevelop serait un exemple d'un IDE complet qui peut être réutilisé, mais c'est loin d'être le cas.

Bonne chance!

+0

Une idée de comment je dessiner un formulaire dans un formulaire, comme dans le concepteur de formulaire VS? En ce moment je joue avec l'idée d'avoir une fenêtre parent MDI et les fenêtres enfants seront "éditables" ... ce qui pourrait fonctionner je suppose –

+0

@Carson le concepteur de formulaires VS ne vous permet pas de placer/dessiner visuellement un formulaire dans un autre Formulaire au moment de la conception: dans le modèle MDI, vous devez définir le MdiParent dans le code, et vous ne "verrez" pas le formulaire MdiChild jusqu'à ce que vous exécutiez le programme. UserControls, et même les "contrôles dérivés" qui descendent des contrôles WinForms comme TreeView et ListView: ceux-ci apparaîtront dans la boîte à outils Design-Time: mais pas Forms. Oui, bien sûr, au moment de l'exécution, vous pouvez déplacer les formulaires MdiChild que vous avez créés, cependant. – BillW

+0

droite, c'est ce que je pensais. Jetez un oeil sur le lien dans la réponse acceptée - c'est en quelque sorte mon objectif, il a été écrit en C# - cela peut-il être fait avec le concepteur de formulaire ou est-ce juste une configuration MDI qui a été modifiée? –

3

Pour la plupart des gens commençant en C#, ce projet serait trop. Avec votre fond VB6, vous pourrez peut-être le retirer, cependant.

Voici un indice: le concepteur Visual Studio Windows Forms dessine des contrôles sur sa surface - en demandant aux contrôles de se dessiner.

+0

J'ai fait quelque chose de similaire dans VB6, où les formulaires ont été générés sur la base de scripts. J'étais juste confus de mettre des formes sous d'autres formes - je ne sais pas exactement comment vous interpréter le dernier point, je suppose que cela apparaîtra clairement une fois que je comprendrai un peu plus le processus. –

+0

@Carson: vous avez demandé comment dessiner sur le formulaire - J'ai répondu que vous devriez obtenir les contrôles que vous placez sur le formulaire pour dessiner eux-mêmes. Devenir très familier avec les méthodes et les propriétés de la classe 'Control'. –

+0

Très bien, merci pour les conseils –

Questions connexes