0

我有从 Panel 派生的自定义控件,我需要使用鼠标处理选择。我发现对于面板我必须覆盖 ProcessCmdKey 并且它可以用于按键但是如果我想在释放控制键时进行处理怎么办?谢谢

4

1 回答 1

1

也许这可以帮助你:

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

protected override bool ProcessKeyPreview(ref Message m)
{
    if (m.Msg == WM_KEYDOWN && (Keys)m.WParam == Keys.ControlKey)
    {
        //Do something
    }
    else if (m.Msg == WM_KEYUP && (Keys)m.WParam == Keys.ControlKey)
    {
        //Do something
    }

    return base.ProcessKeyPreview(ref m);
}

你可以看看这个(如果你还没有):http: //support.microsoft.com/kb/320584

于 2011-08-03T11:11:25.697 回答