Tieni presente che è sempre possibile creare componenti personalizzati, derivati da un controllo TextBox esistente.
Questo è un mio vecchio esempio, molto semplice
VS2008 - CustomComponents (VB.NET+C#)
http://nuke.vbcorner.net/Projects/NE...S/Default.aspx
in cui mostro come aggiungere nuove proprietà e sfruttare gli eventi del controllo custom per eseguire determinate azioni.
Semplice ma potente.
E' un progetto vecchiotto (10 anni fa).
Oggi le nuove versioni del framework ci consentono di più con meno sforzo.