试试这段代码:public override bool PreProcessMessage( ref Message msg ) {
Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode; if(msg.Msg == (int)0x0100
&& keyCode == Keys.Delete && ((DataView) this.DataSource).AllowDelete) { if(MessageBox.Show("您确定删除这行吗?", "", MessageBoxButtons.YesNo) == DialogResult.No) return true; } return base.PreProcessMessage(ref msg); }
Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode; if(msg.Msg == (int)0x0100
&& keyCode == Keys.Delete && ((DataView) this.DataSource).AllowDelete) { if(MessageBox.Show("您确定删除这行吗?", "", MessageBoxButtons.YesNo) == DialogResult.No) return true; } return base.PreProcessMessage(ref msg); }
{
......
}中
ystem.InvalidCastException: 指定的转换无效。
at DataGridEx.gxlDataGrid.PreProcessMessage(Message& msg) in f:\src\2003-3-2721.52\gxldataex\gxldatagrid.cs:line 713
at System.Windows.Forms.ThreadContext.System.Windows.Forms.UnsafeNativeMethods+IMsoComponent.FPreTranslateMessage(MSG& msg)