One was you can catch the Delete key is to override the DataGrid's PreProcessMessage. Here is a code snippet.
public class MyDataGrid : DataGrid
{
const int WM_KEYDOWN = 0x100;
public override bool PreProcessMessage( ref Message msg )
}
Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode;
if(msg.Msg == WM_KEYDOWN && keyCode == Keys.Delete)
{
if(MessageBox.Show("Delete this row?",
"", MessageBoxButtons.YesNo) == DialogResult.No)
return true;
}
return base.PreProcessMessage(ref msg);
}
}