J'utilise Visual Studio pour créer une application GUI en C #. La boîte à outils fait office de palette élément astucieuse qui me permet facilement touches de glisser-déposer et d'autres éléments (pour plus de clarté, je vais le dire quand je touche veux dire « contrôle ») sur ma forme, ce qui rend les formes statiques assez facile à faire.
- La création des boutons en premier lieu demande beaucoup de travail. Lorsque je une forme qui est pas fixe (ie. Touches ou d' autres contrôles sont créés lors de l' exécution d' après ce que l'utilisateur ne) , je ne peux pas utiliser la palette du tout. Au lieu de cela , je dois créer manuellement chaque bouton, en appelant le constructeur de tout méthode que je me sers, et initialize manuellement en spécifiant la hauteur du bouton, la largeur, la position, l' étiquette, gestionnaire d'événements et ainsi de suite. Cela est extrêmement fastidieux parce que je dois deviner tous ces paramètres sans pouvoir cosmétiques pour voir ce que la forme ressemble, et il engendre aussi de nombreuses lignes de code répétitives pour chaque bouton.
- Gérer les événements dans une application complète est une énorme douleur. La seule façon dont je sais comment faire est de sélectionner un bouton, d'aller dans l'onglet événements dans ses propriétés, de cliquer sur l'
OnClick
événement afin qu'il génère l'événement dans leForm
code de, puis de remplir le corps de l'événement. Mais l'utiliser pour de nombreux boutons (par exemple, imaginez le nombre de boutons présents dans une application comme MS Word) pollue le code de myForm
avec des dizaines de méthodes de gestionnaire d'événements standard et il est difficile de le maintenir.
En raison de ces derniers, un programme d'interface graphique plus compliqué que Bonjour tout le monde est très pratique pour réellement faire pour moi. Pour être clair, je n'ai aucun problème à gérer la complexité des programmes que j'écris qui ont une interface utilisateur minimale - je sens que je suis capable d'utiliser la POO avec un bon degré de compétence pour structurer soigneusement mon code de logique métier. Mais lors de l'élaboration du graphique, je suis bloqué.
Suis-je en train de manquer quelque chose? Ou tous les développeurs C # acceptent-ils simplement les listes interminables de gestionnaires d'événements répétitifs et le code de création de boutons?
En tant qu'indice (espérons-le utile), je m'attends à ce qu'une bonne réponse parle de:
- Utilisation de techniques de POO (telles que le modèle d'usine) pour simplifier la création répétée de boutons
- Combiner de nombreux gestionnaires d'événements en une seule méthode qui vérifie
Sender
quel bouton l'a appelé et se comporte en conséquence - XAML et utilisation de WPF au lieu de Windows Forms
Vous ne devez mentionner toutes ces choses , bien sûr. C'est juste ma meilleure estimation quant au type de réponse que je recherche.