Unfortunately, .NET CF TextBox cannot be inherited and used as the basis for this task (OnPaint is not called for starters), so I think that you honestly save time by creating your own control.
Just to get an idea of creating custom controls in .NET CF, if you haven’t already done so, I would highly recommend following this blog post to make the controls transparent as the concept is much the same:
http://christian-helle.blogspot.com/2008/01/transparent-controls-in-netcf.html
If I did this from scratch, I would start by inheriting from the panel and turn it into a text box. The text box is probably one of the most difficult controls to create (especially if the text can be longer than the text box), so you can also see if other vendors have a TextBox component with source code that you could start with, such that way, you could just add .DrawImage to the end of the drawing method and you will have a watermark.
source share