2009-09-01 2 views
1

ICShartEditor 텍스트 편집기에 약간의 문제가있는 것 같습니다. Windows Forms 응용 프로그램에서는 저에게 잘 작동합니다. 단, 저장 단추의 Alt-S와 같은 바로 가기 키를 정의하는 동일한 양식의 단추 (또는 다른 컨트롤)가있는 경우 ' S '를 입력하면 텍스트에 문자를 추가하는 대신 단축키가 실행됩니다.ICSharpEditor 및 우연한 단축키

폼에서 모든 컨트롤에 대한 모든 ProcessMnemonic() 메서드가 실행되므로 해당 메서드가 실행되고 키 누르기를 처리하므로, 키와 같은 키가 ALT 키가 눌러졌습니다.

그 행동을 본 사람이 있습니까? 모든 회피책 또는 수정 사항?

답변

0

.Net 양식은 많은 사람들이 생각하는 것처럼 연상 기호를 구현하지 않습니다. 하나의 대답은 폼의 ProcessMnemonic을 재정의하고 사용자가 Alt 키를 누르지 않으면 호출되지 않도록 차단하는 것입니다.

그냥 폼 클래스에이를 추가

protected override bool ProcessMnemonic(char inputChar) 
{ 
    if (Control.ModifierKeys == Keys.Alt) 
     return base.ProcessMnemonic(inputChar); 
    return false; 
}