下面是一个捕获键盘按键的一个例子,主题是dataGrid
对于您的功能,您可以将ProcessCmdKey方法按以下方式重载:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
const int WM_KEYDOWN = 0x100;
const int WM_SYSKEYDOWN = 0x104; if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
{
switch(keyData)
{
case Keys.Return:
DataGridCell myCell = this.CurrentCell;
MessageBox.Show(this[myCell].ToString());
break;
}
} return base.ProcessCmdKey(ref msg,keyData);
}
对于您的功能,您可以将ProcessCmdKey方法按以下方式重载:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
const int WM_KEYDOWN = 0x100;
const int WM_SYSKEYDOWN = 0x104; if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
{
switch(keyData)
{
case Keys.Return:
DataGridCell myCell = this.CurrentCell;
MessageBox.Show(this[myCell].ToString());
break;
}
} return base.ProcessCmdKey(ref msg,keyData);
}
唯一的出路是通过System.Runtime.InteropServices.DllImportAttribute
调用win32的api 鼠标的消息好捕捉系统提供了api我星期一可以查查以前的
程序给你,但是键盘的消息我没试过 但我觉得应该先得到当前运行窗体的handle然后通过System.Windows.Forms.NativeWindow来捕捉 你试试巴