is there any way to add an extra item to the default WinForms TextBox context menu without creating my own?
Subclass TextBox (derive from it) or native handle (with NativeWindow), and then override window procedure as follows:
protected override void WndProc(ref Message m)
{
if (m.Msg == ) { ... return; }
...
if (m.Msg == 0x0093 /*WM_UAHINITMENU*/ || m.Msg == 0x0117 /*WM_INITMENUPOPUP*/ || m.Msg == 0x0116 /*WM_INITMENU*/)
{
IntPtr shortcut = m.Msg == 0x0093 ? Marshal.ReadIntPtr(m.LParam) : m.WParam;
// add to shortcut
...
}
...
base.WndProc(ref m);
}