C# 在面板中添加新标签时发生NullReferenceException

C# 在面板中添加新标签时发生NullReferenceException,c#,winforms,nullreferenceexception,C#,Winforms,Nullreferenceexception,我在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

我在
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(键)之后
,立即抛出异常
NullReferenceException

为什么??我的错在哪里

问题已解决
我用
控件调用了
而不是
容器
将控件添加到容器中。
应该是父窗体,但添加时未设置父窗体。
但是,正确的方法是添加到面板的控件集合

panel1.Controls.Add(key);

您是否检查了panel1是否为空?99%的可能性是这样,真正的问题是“为什么?”
panel1.Container
?@Eric:我写了
panel1=new Panel()
,但同样的问题你在什么情况下这么做?面板是否已定位(panel1.Container是否为空)?请学习使用调试器:您可以非常快速地确定什么是null。它不应该只是panel1.Controls.Add?