簡體   English   中英

Windows使用ALT + Key組合鍵(如果相同的鍵組合具有大小寫更改)

[英]Windows form hot keys using ALT+Key, if the same key combination with case change

我們創建了具有兩個按鈕“取消”和“清除”的Windows窗體。 我們將按鈕文本設置為&Cancel和&clear,將快捷鍵組合設置為Alt + key 但是當我們按Alt + c時 ,僅適用於“取消”按鈕。 而是為什么它不會在Windows窗體的這兩個按鈕之間切換,就像在VB6窗體中切換一樣。 如果按下Alt + c,則需要在這兩個按鈕之間切換。 請建議需要設置任何表單屬性或按鈕屬性以實現此目的嗎?

您可以嘗試覆蓋ProcessCmdKey方法。 如果按alt,放開alt,然后按c鍵,則下面的命令應該起作用。

private bool altPressed;
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (altPressed)
        {
            if (keyData == Keys.C)
            {
                this.SelectNextControl(ActiveControl, true, true, true, true);
                altPressed = false;
                return true;
            }
        }
        if (keyData == (Keys.Menu | Keys.Alt))
        {
            altPressed = true;
            return true;
        }
    return base.ProcessCmdKey(ref msg, keyData);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM