newbie1992 Ответов: 1

C# не удается очистить выбранный индекс combobox


я получил список элементов combobox store ( не используя привязку данных ), кнопку, используемую для очистки всего текста combobox и textbox, с несколькими текстовыми полями

когда я нажимаю на кнопку Очистить, она показывает мне это сообщение об ошибке :

Необработанное исключение типа 'System.Исключение NullReferenceException' произошел в пользователей bookbar interface.exe

Дополнительная информация: ссылка на объект не установлена на экземпляр объекта.

Что я уже пробовал:

это мой код.

код для моей кнопки :

private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            textBox2.Clear();
            comboBox1.SelectedIndex = -1;
        }


я также установил некоторый код в случае combobox, SelectedIndexChanged, вот где отображается сообщение об ошибке

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {
            if (comboBox1.SelectedItem.ToString() != "Lain-lain") { // < error in this line
                textBox1.Clear();
            }
            else  {
                textBox1.Enabled = true;
            }
            updatebooknameList();
        }

1 Ответов

Рейтинг:
8

CHill60

Если вы отладите свой код и поставите точку останова в строке, где генерируется исключение, вы обнаружите, что SelectedItem собственность компании comboBox1 является null.

Вам нужно проверить, что он равен нулю, прежде чем выдавать .ToString()


newbie1992

Спасибо!

CHill60

Никаких проблем!
Кстати, это очень распространенная ошибка - почти все когда-то делали это :-)