一、 面板控件(Panel)。
面板控件与分组框控件十分相似,都用于逻辑分组控件。并且执行时都是固定的,无法调整。二者主要的区别是面板控件没有标题,但可以包含滚动条,用户可以使用滚动条来查看面板中的其他控件。
使用方式 Panel pl = new Panel();
1、 Panel类属性
类型 | 属性 | 访问方式 | 说明 |
Control | Parent | 读/写 | 获取或设置面板控件的父容器。 |
Point | Location | 读/写 | 获取或设置面板控件的位置。 |
Size | Size | 读/写 | 获取或设置面板控件的大小。 |
Bool | AutoScroll | 读/写 | 获取或设置面板控件是否显示滚动条。 |
BorderStyle | BorderStyle | 读/写 | 获取或设置面板控件的边框样式。 |
例:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Hty
{
class MyForm : Form
{
private Panel pl;
static void Main()
{
Application.Run(new MyForm());
}
public MyForm()
{
this.Text = "面板控件与滚动条";
pl = new Panel();
pl.Parent = this;
pl.Dock = DockStyle.Fill;
pl.BackColor = SystemColors.WindowText;
}
}
}
二、 滚动条控件
滚动条控件一共分为两种,HscrollBar水平滚动条与VscrollBar垂直滚动条。
滚动条是一个常用滚动控件,可用鼠标调整滚动条中滑块的位置来改变值。水平滚动条控件(HScrollBar)和垂直滚动条(VScrollBar)是两个极为相似的控件,主要的区别是可以滚动的方向不同。
类层次图
Object
↓
MarshalByRefObject
↓
Component
↓
Control
↓
ScrollBar
↓ ↓
HScrollBar VScrollBar
(水平滚动条) (垂直滚动条)
1、 HscrollBar(水平滚动条)
a、水平滚动条属性
类型 | 属性 | 访问方式 | 说明 |
Control | Parent | 读/写 | 获取或设置水平滚动条控件的父容器。 |
Point | Location | 读/写 | 获取或设置水平滚动条控件的位置。 |
Size | Size | 读/写 | 获取或设置水平滚动条控件的大小。 |
Int | Value | 读/写 | 获取或设置水平滚动条的值。 |
Int | Minimum | 读/写 | 获取或设置水平滚动条最小值。 |
Int | Maxmum | 读/写 | 获取或设置水平滚动条最大值。 |
Int | SmallChange | 读/写 | 获取或设置单击滚动条端点的某一个箭头时,Value值相应增加或减少的值。 |
Int | LargeChange | 读/写 | 获取或设置单击滚动条端点与滑轮之间的任何位置时,Value值相应的增加或减少。 |
b、水平滚动条事件
事件 | 方法 | 委托 | 参数 |
Scroll | OnScroll | ScrollEventHandler | ScrollEventArgs |
ValueChanged | OnValueChanged | EventHandler | EventArgs |
这两个事件都是在滚动条的Value值改变时触发,但是他们的区别在于ValueChanged事件不只在用户操作滚动条时发生,在程序设置Value属性时也发生。在以编程方式更改Value属性时,不会发生Scroll事件。
在Scroll事件中的ScrollEventArgs事件参数有两个属性对于我们来说非常关键,NewValue获取当前Value的值。OldValue获取上一次Value的值。
例:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Hty
{
class MyForm : Form
{
private Panel pl;
private HScrollBar hsbr;
private Label lb;
static void Main()
{
Application.Run(new MyForm());
}
public MyForm()
{
this.Text = "面板控件与滚动条";
///面板
pl = new Panel();
pl.Parent = this;
pl.Dock = DockStyle.Fill;
//pl.BackColor = SystemColors.WindowText;
///滚动条
hsbr = new HScrollBar();
hsbr.Parent = pl;
hsbr.Value = 1;
hsbr.Maximum = 100;
//hsbr.Minimum = 10;
hsbr.Scroll += new ScrollEventHandler(hsbr_Scroll);
///标签控件
lb = new Label();
lb.Parent = pl;
lb.Text = hsbr.Value.ToString() ;
lb.Location = new Point(0, 20);
}
void hsbr_Scroll(object sender, ScrollEventArgs e)
{
lb.Text = hsbr.Value.ToString();
}
}
}
2、 VscrollBar(垂直滚动条)
垂直滚动条的属性和事件都跟水平滚动条一模一样,其实我们可以通过设置一个属性能把垂直滚动条改变成水平滚动条,或者通过那个属性把水平滚动条改变成垂直滚动条。