Windows 대화 상자가 모델 대화 상자로 표시됩니다. 클래스 ContextMenuStrip
의 컨텍스트 메뉴가 있습니다. 컨텍스트 메뉴에서 여러 항목에 대한 바로 가기를 설정합니다. 그러나이 바로 가기는 컨텍스트 메뉴가 표시 될 때만 작동합니다. 상황에 맞는 메뉴가 활성화되지 않은 경우에도 해당 기능을 작동시키는 방법은 무엇입니까?컨텍스트 메뉴에서 바로 가기 처리
양식의 KeyPress
이벤트를 처리하고 컨텍스트 메뉴의 모든 항목을 재귀 적으로 반복하여 해당 ShortcutKeys
속성을 실제 누른 키와 비교하는 것이 유일한 방법입니다. 일치하면이 항목에 대해 OnClick
이벤트로 수동 호출하십시오. 더 좋은 아이디어?
그럼 난 상황에 맞는 메뉴가 활성화되지 않은 경우 바로 가기가 작동하지 않는 이유를 잘 모르겠지만, 하나 개의 제안, 당신은 키를 눌러 이벤트를 처리하고 키 조합을 결정할 때, 키 조합과 관련된 함수를 호출하면됩니다. 프로그래밍 방식으로 컨텍스트 메뉴를 반복하는 이유는 무엇입니까? –
이렇게하면 코드 중복을 피할 수 있습니다. 메뉴에 바로 가기가 있기를 원하기 때문에 거기에 지정해야하며 거기에 핸들러를 설정해야합니다. 그리고이 둘 모두를 지정하는 유일한 장소 여야합니다. – Mikhail
한 가지 제안은 내가 줄 수있는 것입니다, Ctrl 키를 사용하여 shourtcut을 생성하고 메뉴가 닫힐 때 작동하는지 확인하십시오. –