我在Form1
组件中添加了一个面板。该面板名为panel1
。
浏览通用列表时,我想动态添加标签。看看我的小代码:
if (list.Count > 0)
{
foreach (TLClass item in list)
{
Label key = new Label();
key.Text = item.Key;
panel1.Container.Add(key); //here throws an exception
Label code = new Label();
code.Text = item.Code.ToString();
panel1.Container.Add(code);
Label en = new Label();
en.Text = item.Languages["EN-EN"].ToString();
panel1.Container.Add(en);
Label fr = new Label();
fr.Text = item.Languages["FR-FR"].ToString();
panel1.Container.Add(fr);
Label nl = new Label();
nl.Text = item.Languages["NL-NL"].ToString();
panel1.Container.Add(nl);
Label ro = new Label();
ro.Text = item.Languages["RO-RO"].ToString();
panel1.Container.Add(ro);
Form1.ActiveForm.Container.Add(panel1);
}
}
在行panel1.Container.Add(key);
之后,立即抛出异常NullReferenceException
。
为什么?哪里是我的错?
问题已解决
我使用Controls
而不是Container
答案 0 :(得分:4)
您将控件添加到容器中 哪个应该是父表单,但是当您添加父表单时未设置 但是正确的方法是添加到面板的控件集合
panel1.Controls.Add(key);