2010-09-20 11 views
1

Comment les marges "solides" peuvent-elles être effectuées autour du contrôle System.Windows.Forms.Button?Marges autour de System.Windows.Forms.Button

 var button = new System.Windows.Forms.Button(); 
     button.Dock = DockStyle.Fill; 
     button.Margin = new Padding(20); 

     var panel = new System.Windows.Forms.Panel(); 
     panel.Controls.Add(button); 

Dans l'exemple ci-dessus, le bouton n'aura aucune marge dans le panneau de conteneur. Est-il en quelque sorte possible de l'implémenter de sorte que le bouton ait 20px d'espace autour de lui mais se comporte toujours comme un bouton ordinaire (par exemple, hériter de la classe System.Windows.Forms.Button et faire du dessin personnalisé)? Edit: Laissez-moi vous expliquer ce que j'essaie de faire. Je voudrais avoir un tel contrôle de bouton qui aurait ".Dock = DockStyle.Right" jeu de propriétés. En outre, il aurait rembourrage sur le gauche. Ainsi, avoir quelques boutons de ce type sur le panneau les empilerait à la droite du panneau. Pourquoi? Par exemple. J'ai 3 boutons empilés à droite. Dans certains cas, je voudrais cacher le milieu. Je définirais sa propriété ".Visibile = false" donc il est caché. Dans ce cas, le bouton le plus à droite s'empile à l'extrême gauche, avec le même espace entre eux.

Répondre

1

Placez le bouton dans le panneau comme vous l'avez essayé mais laissez la propriété Dock par défaut. Au lieu de cela, dimensionnez le bouton dans le panneau comme vous le souhaitez et réglez le bouton Anchor property sur Haut, Droite, Gauche et Bas. Si vous conservez la valeur par défaut de la propriété Dock et que vous définissez la propriété Anchor comme indiqué, le bouton sera redimensionné dans la marge lorsque vous redimensionnez le Panel.

+0

Si vous avez beaucoup de ces boutons, la gestion de ce type de mise en page sera très pénible. –