以下是我在运行时创建复选框的代码:
if (reader.HasRows)
{
while (reader.Read())
{
CheckBox xb = new CheckBox();
xb.Text = reader["AnalysisGroup"].ToString();
xb.Name = reader["AnalysisGroup"].ToString();
xb.SetBounds(100,50, 200, 10);
panel1.Controls.Add(xb);
}
}
运行此代码时出现异常:
对象引用未设置为对象的实例。
为什么会这样?我确信读者有行,我测试的问题是添加控制代码。
答案 0 :(得分:2)
myReader["AnalysisGroup"]
可以为null,请执行以下操作,
if (myReader["AnalysisGroup"] != DBNull.Value)
{
string val = reader["AnalysisGroup"].ToString();
CheckBox xb = new CheckBox();
xb.Text = val;
xb.Name = val;
xb.SetBounds(100, 50, 200, 10);
panel1.Controls.Add(xb);
}