2009-07-15 6 views
23

J'ai des contrôles personnalisés/utilisateur que dans la plupart des cas ont l'étiquette et l'entrée, comme ceci:Personnalisation WinForms ErrorProvider pour afficher son icône dans l'entrée de commande

lien ImageShack mort enlevé

Est-il possible Je peux personnaliser l'ErrorProvider standard WinForms pour afficher son icône dans l'entrée (entrée - zone de texte, combo, datetime etc ...), comme ceci:

lien mort ImageShack enlevé

où le cercle rouge est bien sûr l'indicateur d'erreur.

Merci pour toute aide.

Répondre

44

J'ai trouvé une solution:

this.errorProvider.SetIconPadding(this.textBox, -20); 

où ErrorProvider est un objet ErrorProvider et textBox est un objet d'entrée.

+6

Je ne sais pas comment c'est bon, mais pour moi une solution possible au nombre magique est: 'errorProvider.Icon.Width + textBox.Bounds.Width - textBox.ClientRectangle.Width'. Bien sûr, la taille de l'icône * devrait * être appropriée au 'textBox.Height' mais c'est souvent le cas (icône 16x16, la hauteur par défaut de textBox est 20) – Jonno

+3

Je souhaite que je puisse avoir 10 fois cette réponse. –

Questions connexes