К сожалению, .NET CF TextBox не может быть унаследован и использован в качестве основы для этой задачи (для начала OnPaint не вызывается), поэтому, честно говоря, я думаю, что вы сэкономите немного времени, создав собственный элемент управления.
Просто, чтобы получить представление о создании пользовательских элементов управления в .NET CF, если вы этого еще не сделали, я настоятельно рекомендую после этой публикации в блоге сделать элементы управления прозрачными, поскольку концепция в основном такая же:
http://christian -helle.blogspot.com / 2008/01 / прозрачно-управления-в-netcf.html
Если бы я делал это с нуля, я бы начал с наследования от Panel и превратил его в текстовое поле. Текстовое поле, вероятно, является одним из самых сложных элементов управления (особенно если текст может быть длиннее, чем текстовое поле), поэтому вы также можете посмотреть, есть ли у других поставщиков компонент TextBox с исходным кодом, с которого вы могли бы начать, таким образом, вы могли бы просто добавьте .DrawImage в конец метода рисования, и вы получите водяной знак.