Panel 面板控件
Panel 是一个面板控件,主要目的是用来布局,它可以容纳其它控件。
当我们把其它控件放到 Panel 里面后,拖动 Panel 时内部的子控件会跟着一起移动。
和 GroupBox 有点类似,但 Panel 默认没有边框。
运行的时候可以看到 Panel 区域是没有边框线的。




常用属性
| 属性 | 说明 |
|---|---|
Controls | 内部子控件的集合 |
AutoScroll | 内容超出面板大小时是否自动显示滚动条 |
BorderStyle | 边框样式(None、FixedSingle、Fixed3D),默认 None |
Dock | 停靠方式 |
Padding | 内边距 |
BackColor | 背景颜色 |
Enabled | 是否启用,设为 false 时内部所有子控件也会禁用 |
Visible | 是否可见 |
// 后台动态添加子控件
Panel panel = new Panel();
panel.Size = new Size(300, 200);
panel.BorderStyle = BorderStyle.FixedSingle;
panel.AutoScroll = true;
Button btn = new Button();
btn.Text = "按钮";
btn.Location = new Point(10, 10);
panel.Controls.Add(btn);
this.Controls.Add(panel);Code language: JavaScript (javascript)
显示边框
Panel 默认无边框,如需显示可以设置 BorderStyle:
this.panel1.BorderStyle = BorderStyle.FixedSingle; // 单线边框
this.panel1.BorderStyle = BorderStyle.Fixed3D; // 3D 凹陷边框Code language: JavaScript (javascript)
滚动条
当内部控件超出 Panel 可见区域时,开启 AutoScroll 即可自动出现滚动条:
this.panel1.AutoScroll = true;Code language: JavaScript (javascript)
与 GroupBox 的对比
| 对比项 | Panel | GroupBox |
|---|---|---|
| 边框 | 默认无,可设置 | 默认有 |
| 标题 | 不支持 | 支持 Text 属性 |
| 滚动条 | 支持 AutoScroll | 不支持 |
| 典型用途 | 容器布局、滚动区域 | 逻辑分组、RadioButton 互斥 |
Previous: OpenFileDialog 文件选择对话框
Next: PictureBox 图片显示控件