I have a Windows Forms (.Net 2.0) app and I have a request to embed some custom images into some textboxes(like the new version of Tortoise does).
I haven't used OwnerDraw on a textbox, but I've used it on other controls such as the listbox and listview and I've seen other people do this with textboxes. I found a tutorial that should point you in the right direction, it's not used for displaying images in the textbox per se, but it could be used for that:
http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox/
Hopefully that gets you started at least...
Hmm. Why don't you create a new userControl which has the BackColor of the TextBox. Hide TextBox's Border. Then subscribe to Paint event of the UC and draw the borders to resemble the textbox one. In the Paint Handler you can also draw an image. In the UserControl you can easily set the bounds of any child control such as textbox, or write a custom layout and place the textbox wherever you want. I hope this helps.
What you can do is to create a new class that inherits from the System.Windows.Forms.TextBox class. Then you must set the UserPaint style of the control using
SetStyle(ControlStyles.UserPaint, true)
in the constructor to enable you to draw the text box yourself, and finally you must override either OnPaint or OnPaintBackground to draw your control.
I suspect this won't be trivial since text drawing can be quite complex, but it should be possible.