2011-02-25 5 views
2

저는 C# Windows 양식 응용 프로그램을 처음 사용합니다. 여기 내 질문은 : 나는 형태로 콤보를 생성하고 아래와 같이이으로 comboBox에 항목을 추가 :콤보 상자의 Windows 양식 응용 프로그램 오류

foreach (string name in seqNames) 
{ 

    comboBox.items.add(name); 
} 

나중에 어떤 콤보 상자 항목이

if (comboBox.selectedItem.toString().length > 0) 
{ 
     blabla; 
} 

으로 선택되어 있는지 확인하지만 이 콤보 상자에서 항목을 선택하지 않고 실행하면 "개체 참조가 개체의 인스턴스로 설정되지 않았습니다."오류가 발생했습니다.

누구든지 도와주세요. 제발 ..... 미리 감사드립니다.

답변

2

comboBox.SelectedItem을 참조하고 항목을 선택하지 않은 경우 선택한 항목이 null이고 null.ToString()을 수행 할 수 없습니다.

대신 같이 선택된 항목을 검사하려고 :

if (comboBox.SelectedItem != null) 
{ 
     blabla; 
} 
+0

고마워요. 그것은 작동합니다. – Mavershang

0

SelectedItem이다 (즉이 어떤 항목이 선택되지 않은) 널 (null)을 반환하고, 예외가 발생한다 null의 메소드를 호출하려고. 앤드류 (Andrew)는 이미 이것을 언급했지만, DropDownStyle 속성을 ComboBoxStyle.DropDownList으로 설정하면 도움이 될 것이라고 덧붙였습니다.

는 사용자가 그것으로 입력하고 당신은 항상 몇 가지 항목이 더 나은 접근 방식을 선택하고, 그 경우에 당신이 ComboBox 및 제거 할 수 없습니다 SelectedItem 결코 존재하지 널 (가정 항목 믿을 수있는 싶어하지 않으려면 적어도 하나 이상의 항목으로 초기화하십시오.)