动态添加面板c#

AMH*_*AMH 1 c# winforms c#-2.0

我正在尝试向groupbox添加面板,面板将具有backgroundimage.

我有三个文件,所以我应该在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);

        }
Run Code Online (Sandbox Code Playgroud)

请给我任何建议.

Cri*_*spy 5

您没有设置面板的位置.

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

Panel有一个您可以设置的Location属性.您还可以使用Dock属性停靠面板.

几个简单的例子:

p.Dock = DockStyle.Top;
Run Code Online (Sandbox Code Playgroud)

要么

p.Location = new Point(50, 50);
Run Code Online (Sandbox Code Playgroud)