2013-08-20 5 views
0

단순한 대한 반복 질문 :명령어없이 버튼 바로 가기를 설정 하시겠습니까?

어떻게 설정 바로 가기 명령 바인딩없이 버튼 (ButtonBase-요소) 하시나요?

나는 AccessKeyManager을 테스트,하지만 난 수정과 쇼트 컷을 설정합니다.
코드를 사용하여이 작업을 수행 할 수 없습니까?

예를 들어

:

F1 ... F12
Ctrl + A .. Z
Ctrl 키 + F1 ... F12

+2

그런 다음 버튼과 관련된 * 아무것도 * 명령 바인딩을 사용하십시오. –

+0

@HB : 버튼 클릭 이벤트, 일종의 고전적인 방법을 사용합니다. – Rev

+0

내 생각을 이해하지 못했다고 생각합니다. 더 이상 상호 작용하지 않는 코드를 실행하기 위해 많은 키 (액세스 키가 아닌)를 누르면 따라서 버튼은이 기능을 제공하지 않는다는 것은 논리적 일뿐입니다. 또한 제공하지 않아도됩니다. 로직을 리팩토링하여 명령으로 만들고 버튼과 명령 바인딩을 동일한 명령에 바인딩하십시오. –

답변

1

이 당신에게 어떻게 것에 대한 일반적인 생각을 줄 수 가지에 대해 가야

Keys lastkey = Keys.None; 
    Button b = new Button(); 
    private void KeyPress(object sender, KeyEventArgs e) 
    { 
     if (lastkey == Keys.Control) 
     { 
      //Do some stuff 
      b.PerformClick(); 
     } 
     if (e.KeyCode == Keys.Control) 
      lastkey = Keys.Control; 
     else 
      lastkey = e.KeyCode; 
    } 
+0

고마워요,하지만 오래된 고전적인 방법 같아요, 더 나은 방법을 찾고 있어요. – Rev