2010-05-25 3 views
0

ToolStrip에 ToolStripComboBox가 있고 그 안에 Tab 키를 누르면 다음 도구 스트립 단추에 포커스가 있습니다. 이 동작을 변경하고 양식의 richtextbox에 초점을 맞추고 싶습니다.ToolStripComboBox의 핸들 탭 키

ToolStripComboBox에는 PreviewKeyDown 이벤트가 없습니다. 콤보에서 탭 키를 눌렀을 때 (누르거나 일부 도구 모음 단추에 포커스가있을 때) 호스팅 도구 막대 도구 모음의 PreviewKeyDown은 호출되지 않습니다.

도구 모음 도구 모음의 TabStop이 false입니다.

아이디어가 있으십니까?

답변

1

ToolStrip 컨트롤이 키를 가져 오기 전에이를 폼 수준에서 잡을 수 있습니다. 폼의 ProcessCmdKey() 메서드를 재정 의하여 다음과 비슷하게 만듭니다.

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { 
     if (keyData == Keys.Tab && this.ActiveControl == toolStripComboBox1.Control) { 
      richTextBox1.Focus(); 
      return true; 
     } 
     return base.ProcessCmdKey(ref msg, keyData); 
    }