我正在尝试向组合框添加一些项目,就像它在msdn网站上显示的一样,但它会抛出一个空引用异常
comboBox1.Items.Add("test");
我尝试在
上更改它ComboBox combobox1 = new ComboBox();
object test = new object();
test= "test";
comboBox1.Items.Add(test);
但它也没有用 你能告诉我,问题出在哪里? 感谢
编辑: 解决了 : 问题是,我正在打电话
InitializeComponent();
在此代码之后,而不是之前,现在它按照我之前的方式工作:)
答案 0 :(得分:3)
替换为
ComboBox combobox1 = new ComboBox();
object test = new object();
test= "test";
combobox1.Items = new ArrayList();
combobox1.Items.Add(test);
combobox1
和comboBox1
不相同
答案 1 :(得分:3)
在这个例子中:
ComboBox combobox1 = new ComboBox();
object test = new object();
test= "test";
comboBox1.Items.Add(test);
您的ComboBox不是任何容器(即表单)的子容器,因此它在您的UI中不可见。我认为在这种情况下,你的意思是“不起作用”。如果你在代码中创建一个控件,你需要将它添加到你的表单或你的表单的孩子是这样的(假设WinForms,并且代码在你的Form类...)
Controls.Add( combobox1 );
您还需要设置大小,定位等等。
Items
的{{1}}集合不应为null,因为它是在您调用它时创建的,因此我们必须查看combobox1的来源。当您处理像ComboBox
这样的简单问题时,您应该使用调试器来找出哪个对象为空。
NullReferenceException
与combobox1
不同,因为C#区分大小写(注意大写comboBox1
)。所以,根据你给我们的证据,B
(大写B)是空的。