2009-12-04 2 views
1

다음 코드가 주어지면 ArguementOutOfRangeException을받는 방법은 무엇입니까?ComboBox의 SelectedIndex를 설정하면 ArgumentOutOfRangeException이 throw됩니다.

if (comboBox1.Items.Count > 0) 
{ 
    comboBox1.SelectedIndex = 0; 
} 

이 코드는 내 양식에 있습니다. 이벤트를로드하십시오. 콤보 상자에 항목이 있지만 콤보 상자에 선택한 인덱스를 설정할 수 없다는 것을 알고 있습니다. MSDN는 지정된 인덱스가 -2보다 작거나 같거나 콤보 상자의 항목 수보다 크거나 같으면 ArguementOutOfRangeException이 throw됩니다.

방금 ​​작성한 빠른 테스트 앱에서 동일한 문제가 발생하지 않습니다.

+0

더 많은 코드가 필요하다고 생각합니다. 동일한 코드로 테스트 애플리케이션을 생성했지만 문제가 발생하지 않았다면 다른 코드가 책임이 있음은 분명합니다. – BlueMonkMN

+1

콤보가 데이터 소스에 바인딩되어 있는지 또는이 코드를 호출하기 전에 ListItem을 삽입했는지 확인하십시오. 항목을 선택하지 않으면 -1이 반환됩니다. – Adeel

+0

아직 렌더링되지 않았습니까? 폼로드가 아닌 버튼 아래에서이 호출을 수행 할 수 있습니까? – RvdK

답변

2

나는 바보가 아닌가. 선택한 인덱스 변경 이벤트가 발생했으며 해당 코드에서 다른 콤보 상자에 selectedIndex가 0으로 설정되어 있었지만 특정 데이터에서는 채워지지 않았고 selectedIndex를 설정하기 전에 기본 오류 검사가 없었습니다.

한숨.

관련 문제