C# 面板控件与滚动条

时间:2022-06-29 10:58:11

一、  面板控件(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(newMyForm());

        }

        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(newMyForm());

        }

        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(垂直滚动条)

 

垂直滚动条的属性和事件都跟水平滚动条一模一样,其实我们可以通过设置一个属性能把垂直滚动条改变成水平滚动条,或者通过那个属性把水平滚动条改变成垂直滚动条。