C#FlowLayoutPanel

时间:2012-12-18 20:53:10

标签: c# flowlayoutpanel

我希望能够在表单中添加一些进度条(进度条的数量因用户而异)。

我已编写此代码以添加1个进度条:

        ProgressBar progressbar = new System.Windows.Forms.ProgressBar();
        progressbar.Name = "progressBar1";
        progressbar.Size = new Size(280, 30);
        progressbar.TabIndex = 9;
        progressbar.Show();
        flowLayoutPanel.Container.Add(progressbar);

当我运行此代码时,我得到一个异常:"Object reference not set to an instance of an object."。 困扰我的是当我使用IDE查看它们时,progressbar和flowLayoutPanel都不为null。我做错了什么?

2 个答案:

答案 0 :(得分:4)

我猜flowLayoutPanel.Container为空。我想你想要

flowLayoutPanel.Controls.Add(progressbar);

答案 1 :(得分:1)

progressbar.Show();

这条线不应该是必要的

你把这段代码放在InitializeComponents之前了吗?然后flowLayoutPanel为null,因为在此函数中所有表单元素都已初始化

然后,子元素在FlowLayoutPanel.Controls,而不是容器