WinForms: Existe-t-il un concept d'association d'une étiquette à une zone de texte?
Je suis en utilisant Visual Studio 2010 avec C#. Est-il un concept dans les Windows Forms développement de quelque sorte lier une étiquette avec le texte de la boîte? Quelque chose de sorte qu'ils se déplacent ensemble comme une unité? Dans le ASP.NET monde, il est le AssociatedControlId propriété de l'étiquette de contrôle. Je pense aussi que je me souviens de MS Access concepteur de formulaire ayant une certaine façon d'associer (ou de liaison) des étiquettes avec des contrôles. Cette fonctionnalité existe dans Visual Studio monde?
Si non, comment faites-vous des étiquettes de groupe avec des contrôles tels que si vous déplacez une zone de texte vous n'avez pas à déplacer manuellement le label?
source d'informationauteur User
Vous devez vous connecter pour publier un commentaire.
Non, il n'est pas - au moins avec la sortie de la boîte de contrôle. Si vous voulez ce que vous pourriez réaliser avec un contrôle de l'utilisateur.
En général les winforms n'est pas en ligne de la même manière que le HTML est.
Il ne semble pas être intégré dans un. Vous pouvez rouler vos propres
Field
classe. Ci-dessous est un exemple complet.Voici ce que le programme d'exemple ressemble sur mon système:
Si vous souhaitez des étiquettes de groupe avec d'autres contrôles (ou d'un groupe de contrôles en général), puis utilisez le
System.Windows.Forms.Panel
de contrôle. L'objectif spécifique du Panneau de contrôle est àgroup collections of controls
.Plus d'informations Panneau De Classe (Du Système.De Windows.Les formes)
Si vous voulez un plus haut degré de contrôle (plutôt que d'utiliser un Panneau de), vous pouvez créer une
UserControl
qui encapsule unLabel
et unControl
.I 2e @Neils réponse de juste de créer un contrôle utilisateur avec une zone de texte. Le panneau peut être utilisé pour le contrôle du groupe, mais il peut être assez fastidieux si vous avez beaucoup de contrôles sur le formulaire.
Si vous voulez soutenir plus que juste des zones de texte, WinForms vous permet de créer votre propre designer. Si vous héritez de votre concepteur de la ParentControlDesigner classe, vous pouvez déposer n'importe quel contrôle que vous voulez dans votre étiquette personnalisée de contrôle.
je pense que le mieux serait d'utiliser une Zone de groupe.
Vous pouvez utiliser des méthodes d'extension pour le faire, suivez l'exemple:
C'est ma solution, à l'aide d'un
TableLayoutPanel
à l'étiquette du lieu et de contrôle d'entrée,Presetted certaines propriétés utiles:
Aperçu
Le code peut avoir besoin de wrap
Useage: