Я видел множество ссылок на объекты, не заданных для экземпляра вопросов об объектах, но я не смог найти ни одного сценария.
У меня есть комбинированное окно с именем comboBox1
.Во время загрузки формы у меня есть код для заполнения поля со списком:
private void Form1_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the
// 'tenderDBDataSet.tbl_Tender_To_Details' table.
// You can move, or remove it, as needed.
OleDbCommand cmd = new OleDbCommand("SELECT DISTINCT
tbl_Tender_To_Details.To_Name, tbl_Tender_To_Details.To_Address1,
tbl_Tender_To_Details.To_Address2,
tbl_Tender_To_Details.To_City, tbl_Tender_To_Details.To_PinCode "+
"FROM tbl_Tender_To_Details "+
"WHERE to_Name IS NOT NULL ", conn);
try
{
conn.Open();
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
comboBox1.Items.Add(reader["To_Name"]);
// listBox1.Items.Add(reader[0].ToString());
// MessageBox.Show(reader[0].ToString());
}
reader.Close();
comboBox1.SelectedIndex = 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show(comboBox1.SelectedValue.ToString());
}
Строка MessageBox.Show(comboBox1.SelectedValue.ToString());
показывает:
«Ссылка на объект не установлена для экземпляра объекта для поля со списком».
Но мое удивление заключается в том, что значение индекса 0 установлено в поле со списком, когда форма загружается после этого сообщения со ссылкой на объект.