2011-09-21 3 views
2

콤보 상자의 SelectionChangeCommitted 이벤트에서 위쪽 및 아래쪽 화살표 키를 무시하고 마우스 만 선택할 수있게하려고합니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?combobox selectionchangecommitted가 키보드 또는 마우스 입력으로 발생했는지 확인하는 방법

키 또는 클릭으로 인해 SelectionChangeCommitted 이벤트가 발생했는지 확인하는 방법이 필요합니다. 나는 mouseclick 이벤트에서 켜고 열쇠에서 벗어난 깃발을 가질 수 있다고 생각하지만, 더 깨끗한 방법이 있는지 궁금해했다.

답변

2

이와 같이 KeyDown 이벤트를 사용하여 키를 억제 할 수 있습니다.

private void comboBox1_KeyDown(object sender, KeyEventArgs e) 
    { 
     e.SuppressKeyPress = true; 
    } 
2

콤보 상자의 경우 KeyPress 이벤트를 처리하고 (e.Canceled = true;)를 취소 할 수 있어야합니다. 이렇게하면 항목의 첫 글자와 일치하는 키를 누를 때 콤보 상자 항목이 변경되지 않습니다.

관련 문제