![](/img/trans.png)
[英]As if ALT doesn't get released - using shortcut keys / Alt+key combination
[英]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.