2009-07-15 9 views
23

ho qualche custom/utente controlla che nella maggior parte dei casi hanno l'etichetta e l'ingresso, in questo modo:Personalizzazione WinForms ErrorProvider per visualizzare l'icona dentro l'ingresso di controllo

rimosso ImageShack morti collegamento

C'è un modo posso personalizzare l'ErrorProvider WinForms standard per visualizzare la sua icona all'interno ingresso (entry - casella di testo, combo, datetime, ecc ...), in questo modo:

collegamento rimosso ImageShack morti

dove il cerchio rosso è ovviamente l'indicatore di errore.

Grazie per qualsiasi aiuto.

risposta

44

ho trovato una soluzione:

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

dove ErrorProvider è un oggetto ErrorProvider e casella di testo è un oggetto Entry.

+6

non sono sicuro di quanto sia buono, ma per me una possibile soluzione al numero magico è: 'errorProvider.Icon.Width + textBox.Bounds.Width - textBox.ClientRectangle.Width'. Ovviamente la dimensione dell'icona * dovrebbe * essere appropriata al 'textBox.Height', ma questo è spesso il caso (icona 16x16, altezza predefinita del textBox è 20) – Jonno

+3

Vorrei poter revocare questa risposta per 10 volte. –