2011-02-25 6 views
2

私はc#windowsフォームアプリを初めて使用しています。ここに私の質問は: 私は、フォームでコンボボックスを作成し、以下のように、このコンボボックスに項目を追加します。コンボボックスのWindowsフォームアプリケーションエラー

foreach (string name in seqNames) 
{ 

    comboBox.items.add(name); 
} 

以降任意のComboBoxアイテムが

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

によって選択されているかどうかを確認けどこのコンボボックスで項目を選択せず​​に実行すると、エラーが発生しました。 "オブジェクト参照がオブジェクトのインスタンスに設定されていません"。

誰かが私を助けますか?してください..... ありがとうございます。

答えて

2

comboBox.SelectedItemを参照し、アイテムが選択されていない場合、選択したアイテムはnullであり、null.ToString()は実行できません。

代わりにこのような選択された項目テストしてみてください:

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

ありがとうございます。できます。 – Mavershang

0

SelectedItem(すなわち、項目が選択されていない)はnullを返す、そしてnullのメソッドを呼び出そうとすると、例外が発生します。アンドリューは既にこれを指摘していますが(+1アンドリュー)、DropDownStyleプロパティをComboBoxStyle.DropDownListに設定すると恩恵を受けるかもしれないと私は付け加えました。

ユーザーが入力したくない場合は、常に項目を選択することをお勧めします。その場合、SelectedItemは決してNULLになりません(ComboBoxから項目を削除できないと仮定します)。少なくとも1つのアイテムで常に初期化します)。

関連する問題