2009-01-15 9 views

Répondre

2

Je n'ai pas utilisé OwnerDraw sur une zone de texte, mais je l'ai utilisé sur d'autres contrôles tels que la listbox et listview et j'ai vu d'autres personnes faire cela avec des zones de texte. J'ai trouvé un tutoriel qui devrait vous orienter dans la bonne direction, il n'est pas utilisé pour afficher des images dans la zone de texte en tant que tel, mais il pourrait être utilisé pour cela:

http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox/

Espérons que vous permet de démarrer au moins. ..

+0

Ce lien pointe maintenant vers une sorte de site de spam/phishing ... – Enteleform

1

Hmm. Pourquoi ne créez-vous pas un nouveau userControl qui a le BackColor du TextBox. Masquer la bordure de TextBox. Puis abonnez-vous à l'événement Paint de l'UC et dessinez les bordures pour ressembler à la zone de texte. Dans Paint Handler, vous pouvez également dessiner une image. Dans UserControl, vous pouvez facilement définir les limites de tout contrôle enfant tel que textbox, ou écrire une mise en page personnalisée et placer la zone de texte où vous le souhaitez. J'espère que ça aide.

1

Ce que vous pouvez faire est de créer une nouvelle classe qui hérite de la classe System.Windows.Forms.TextBox. Ensuite, vous devez définir le style de UserPaint de contrôle à l'aide

SetStyle(ControlStyles.UserPaint, true) 

dans le constructeur pour vous permettre de dessiner le texte vous boîte, et enfin vous devez remplacer soit OnPaint ou OnPaintBackground pour attirer votre contrôle.

Je suppose que cela ne sera pas trivial puisque le dessin de texte peut être assez complexe, mais cela devrait être possible.

Questions connexes