I have a delete key shortcut for my main menu. When my textbox is being edited, pressing delete activates this menu items instead of being processed by the TextBox. How can I get my TextBox to handle this delete

Platform: WinForms| Category: TextBox

Subclass the TextBox and override its PreProcessMessage method.

public class MyTextBox : TextBox
{

	const int WM_KEYDOWN = 0x100;
	const int WM_KEYUP = 0x101;

	public override bool PreProcessMessage(	ref Message msg )
	{
		Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode;
		if((msg.Msg == WM_KEYDOWN || msg.Msg == WM_KEYUP)
			&& keyCode == Keys.Delete)
		{
			return false;
		}	
		return base.PreProcessMessage(ref msg);
	}
}

Share with

Related FAQs

Couldn't find the FAQs you're looking for?

Please submit your question and answer.