public myTextBox { this.SetStyle(ControlStyles.UserPaint, true); this.UpdateStyles(); } protected override void WndProc(ref Message m) { // // Do lots of crazy things in here including handling // the following Windows messages:- // // WM_PAINT // WM_HSCROLL // WM_VSCROLL // WM_LBUTTONDOWN // WM_RBUTTONDOWN // WM_LBUTTONDBLCLK // WM_MOUSELEAVE // WM_MOUSEMOVE // }The downside to ownerdrawing is that you will not get any help in rendering your control ie. you will have to draw *all* the states that you need to cater for, caret positioning etc.