양식의 ProcessCmdKey() 메서드를 재정 의하여 바로 가기 키 입력을 검색합니다. 이렇게 :
private bool findShortCut(Control.ControlCollection ctls, Keys keydata) {
foreach (Control ctl in ctls) {
var btn = ctl as MyButton;
if (btn != null && btn.ShortCutKey == keydata) {
btn.PerformClick();
return true;
}
if (findShortCut(ctl.Controls, keydata)) return true;
}
return false;
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (findShortCut(this.Controls, keyData)) return true;
return base.ProcessCmdKey(ref msg, keyData);
}
여기서 MyButton은 사용자 지정 단추 컨트롤 클래스로 간주됩니다.
WinForms 또는 WPF? – ChrisF
입력 바인딩을 살펴보십시오. http://msdn.microsoft.com/en-us/library/system.windows.input.inputbinding.aspx –