2011-08-24 6 views
1


Rembourrage Haut et Bas en ErrorProvider

Dans le contrôle ErrorProvider nous pouvons utiliser SetIconPadding(); afin de définir le nombre de pixels à ajouter entre l'icône et le contrôle.

De cette façon, nous pouvons déplacer l'icône horizontalement.
Comment faire la même chose mais en vertical?

Je ne sais pas comment étendre ou remplacer le positionnement des icônes.

PS. SetIconAlignment() dans certaines situations ne suffit pas. Je dois simplement définir la localisation personnalisée de l'icône.

Répondre

6

Malheureusement, ce n'est pas facile façon de le faire. En utilisant la fonction SetIconPadding(), vous pouvez définir l'espace entre l'icône et le contrôle uniquement horizontalement, mais les valeurs négatives sont également autorisées. En appelant le SetIconAlignment(), vous ne pouvez le placer qu'à gauche ou à droite du contrôle, mais pas au-dessus ou en dessous.

Un hack pour que cela fonctionne, serait de mettre un panneau autour du contrôle dont vous avez besoin pour le errorProvider et le rendre plus haut et/ou plus bas. Vous pouvez maintenant définir directement le fournisseur sur ce contrôle de conteneur au lieu du contrôle voulu et en appliquant des valeurs négatives pour le remplissage, vous pouvez déplacer l'icône clignotante au-dessus ou en dessous du contrôle que vous souhaitez.

Ceci est une sorte de hackish, mais je pense que leur n'est pas une autre façon de le faire.

+--Panel----------------------+ 
    |    !    | 
    |  +------------------+ | 
    |  | ControlWithError | | 
    |  +------------------+ | 
    |        | 
    +-----------------------------+ 

Comme indiqué ci-dessus, définissez le ErrorProvider non sur le contrôle. Réglez-le sur le panneau et réglez IconAlignment sur TopLeft et IconPadding sur une valeur négative (par exemple -50) et votre icône clignote au-dessus de votre contrôle.

+0

Ceci est une bonne solution alternative. Je vous remercie. En temps libre, je vais trouver une meilleure solution. – revelvice

Questions connexes