2017-12-11 3 views
1

우선 C#을 처음 사용한다고 가정 해 보겠습니다. ... WinForms를 사용하고 있습니다.이 코드를 사용하여 ComboBox의 값을 변경하려고 시도했습니다. 지름길. SelectedIndex 대신 SelectedValue를 사용해 보았습니다. 그런 다음 값을 변경하기 전이나 후에 ComboBox에 포커스를 두려고했습니다. 마지막으로 나는 이것을 stitch 문으로 변환하려고 시도했지만, 실행할 때마다 아무 일도 일어나지 않습니다. 난 비주얼 스튜디오 2017를 사용하고
- 내가 그것을 디버깅하려고 할 때, 디버거는 나에게 보여 주었다 그것은 ... 그것은 else 문 안쪽에가는 if 문 안에있는 코드를 실행하고이 코드를 다시 실행 한 후바로 가기를 사용하여 ComboBox의 선택된 값을 변경하는 방법 C#

private void Form_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Control && e.KeyCode == Keys.E) 
    { 
     //CBoxLimit.Focus(); 

     if (CBoxLimit.SelectedIndex == 0) 
     { 
      CBoxLimit.SelectedIndex = 1; 
     } 

     else 
     { 
      CBoxLimit.SelectedIndex = 0; 
     } 

     //CBoxLimit.Focus(); 
    } 
} 
당신의 도움에 미리

덕분에 ...

+0

는 중단 점 (들)의 도움으로 코드를 실행 시도하고 생성하는 모든 예외가 있는지. 그렇다면 어떤 예외가 생성되는지 게시하십시오. –

+0

알아. 실수로 응답을 답으로 썼습니다. 나는 내가 코멘트를 게시하고 있다고 생각했다. 나는 심지어 그 지위를 삭제했다. –

+0

SelectedIndex를 변경하는 줄에 중단 점을 설정하려고했습니다 ... if 문 내부의 코드를 실행 한 후 else 문 내부로 들어가 코드를 다시 실행합니다 ... –

답변

0

당신이 CBoxLimitComboBox의 인스턴스에 SelectedIndex하지를 변경해야합니다 것 같다. 또한 당신은 (here 참조) True에 폼의 KeyPreview 속성을 설정해야합니다

 private void Form1_KeyDown(object sender, KeyEventArgs e) 
     { 
      if (e.KeyCode == Keys.E) 
      { 
       comboBox1.SelectedIndex = 1; 
      } 
     } 
+0

불행히도 그게 작동하지 않았다 ... –

+0

내 편집보기 - 샘플 프로젝트에서 시도했습니다. –

+0

미안하지만 시도해 보았습니다. 같은 결과를 얻었습니다 ... 내가 콤보 상자를 열었을 때 그냥 작동하는 원하는 인덱스 위로 마우스를 가져 가면 ...하지만 그 위에 마우스를 올려 놓으면 ... Idk why ... –

관련 문제