c# - 动态添加面板c#

标签 c# winforms c#-2.0

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

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

        }

请提出任何建议。

最佳答案

您没有设置面板的位置。

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

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

几个简单的例子:

p.Dock = DockStyle.Top;

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

关于c# - 动态添加面板c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6157965/

相关文章:

c# - LightSwitch -- 无法确定目标数据库架构提供程序

c# - 如何向下转换由静态方法生成的实例?

c# - 动态上下文菜单

c# - 即使在 ObjectContext.ContextOptions.LazyLoadingEnabled = false 时也会延迟加载导航属性

c# - ASMX Web 服务能否在特定条件下返回空白的 XML 文档?

c# - 如何刷新列表框的项目?

c# - 在 BindingSoure.Filter 或 DataView.RowFilter 中使用 Like 过滤整数

winforms - 启动进程 TopMost

c# - 窗口服务中的 App.config

c#-2.0 - ImageList 透明度在运行时不起作用