В этом примере:
ComboBox combobox1 = new ComboBox();
object test = new object();
test= "test";
comboBox1.Items.Add(test);
Ваш ComboBox не является дочерним элементом какого-либо контейнера (т. Е. Формы), поэтому он не будет виден в вашем пользовательском интерфейсе. Я предполагаю, что вы имели в виду «не работает» в этом случае. Если вы создаете элемент управления в коде, вам нужно добавить его в форму или дочерний элемент вашей формы, например, (при условии WinForms, а также того, что код находится в вашем классе Form ...)
Controls.Add( combobox1 );
Вам также нужно будет установить размер, расположить его и т. Д.
Коллекция Items
для ComboBox
не должна быть нулевой, так как она создается, когда вы ее вызываете, поэтому нам нужно увидеть, откуда исходит combobox1. Когда вы имеете дело с простой проблемой, такой как NullReferenceException
, вы должны использовать отладчик, чтобы выяснить, какой объект является нулевым.
РЕДАКТИРОВАТЬ: Как указал Манджур, combobox1
не то же самое, что comboBox1
, так как C # чувствителен к регистру (обратите внимание на заглавную B
). Итак, из приведенных вами доказательств comboBox1
(заглавная B) является нулевым.