添加项目到组合框

时间:2011-06-14 15:11:38

标签: c# combobox

我正在尝试向组合框添加一些项目,就像它在msdn网站上显示的一样,但它会抛出一个空引用异常

 comboBox1.Items.Add("test");

我尝试在

上更改它
ComboBox combobox1 = new ComboBox();
object test = new object();
test= "test";
comboBox1.Items.Add(test);

但它也没有用 你能告诉我,问题出在哪里? 感谢

编辑: 解决了 : 问题是,我正在打电话

InitializeComponent();

在此代码之后,而不是之前,现在它按照我之前的方式工作:)

2 个答案:

答案 0 :(得分:3)

替换为

ComboBox combobox1 = new ComboBox();
object test = new object();
test= "test";
combobox1.Items = new ArrayList();
combobox1.Items.Add(test);

combobox1comboBox1不相同

答案 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这样的简单问题时,您应该使用调试器来找出哪个对象为空。

编辑:正如Manjoor指出的那样,NullReferenceExceptioncombobox1不同,因为C#区分大小写(注意大写comboBox1)。所以,根据你给我们的证据,B(大写B)是空的。