动态添加面板c#

时间:2011-05-27 21:38:14

标签: c# winforms c#-2.0

我正在尝试将面板添加到groupbox,面板将具有背景图像。

我有三个文件,因此我应该在组框中有3个面板,但是会显示4个面板,并显示相同的照片。我使用以下代码:

DirectoryInfo di = new DirectoryInfo(folder);
        FileInfo[] rgFiles = di.GetFiles();
        Point NewPosition =new Point() ;

        foreach (FileInfo fi in rgFiles)
        {
            Bitmap b = new Bitmap(folder+@"\"+ fi.Name);

            Panel p = new Panel();
            p.Size = b.Size;
            p.BackgroundImage = b;
            p.Name = fi.Name;
            p.Dock = DockStyle.Top;



            control.Controls.Add(p);

        }

请提出任何建议。

1 个答案:

答案 0 :(得分:5)

您没有设置面板的位置。

我猜测这些面板堆叠在一起,使得顶部面板成为唯一可行的面板。

Panel具有位置属性,您可以设置该属性。您还可以使用 Dock 属性停靠面板。

一些简单的例子:

p.Dock = DockStyle.Top;

p.Location = new Point(50, 50);