当我尝试将项目添加到组合框时,我得到:
“NullReferenceException未处理” “对象引用未设置为对象的实例。”
无论我如何将代码添加到组合框中,都会发生这种情况。
comboBox1.Items.Add("test");
或
try
{
Parties.Open();
String test = "SELECT PartyName FROM Parties WHERE PartyID = 4";
selectParty = new OleDbCommand(test, Parties);
OleDbDataReader testing = selectParty.ExecuteReader();
while (testing.Read())
{
MessageBox.Show(testing.GetValue(0).ToString());
comboBox1.SelectedIndex = comboBox1.Items.Add(testing.GetValue(0).ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
(凌乱的代码......沮丧!)
我对.NET和C#很陌生,我不明白这里发生了什么,我到处发生的一切都告诉我上面的代码应该可行,但事实并非如此。 MSDN只列出:
comboBox1.Items.Add("Text");
答案 0 :(得分:3)
您在哪里尝试将项目添加到ComboBox?
如果在InitializeComponent()之前调用上面的代码,则会抛出异常;在表单构造函数中。或者,如果要在代码中的其他位置分配comboBox。
确保所有代码都在InitializeComponent()之后完成,这是调用设计器中代码的方法。
答案 1 :(得分:0)
visual studio将在使用设计器修改UI时添加InitializeComponents()方法。
您应该在表单构造函数体中调用InitializeComponents()方法。如果代码与控件交互,则需要在InitializeComponent调用之后放置代码。任何不与控件交互的代码都可以在InitializeComponents()之上或之下。
此外,如果双击设计器中的控件,Visual Studio将创建一个Form_Load事件处理程序,该处理程序在表单构造函数之后运行。