Finns antagligen nåt enklare men en "fullösning" är ju att filtrera bort mus- och tangentbordsevents innan de når kontrollen:
public class dittForm : System.Windows.Forms.Form
{
public class DittMessageFilter: IMessageFilter
{
const int WM_KEYDOWN = 0x100;
const int WM_LEFTMOUSEDOWN = 0x201;
private RichTextBox aOwner;
public DittMessageFilter(RichTextBox aOwner)
{
this.aOwner=aOwner;
}
public bool PreFilterMessage(ref Message m)
{
if (((m.Msg == WM_KEYDOWN)||(m.Msg == WM_LEFTMOUSEDOWN))
&&(m.HWnd==aOwner.Handle))
return true;
return false;
}
}
private void dittForm_Load(object sender, System.EventArgs e)
{
Application.AddMessageFilter(new DittMessageFilter(dinRichTextBox));
}
}