单击水平滚动条和滚动箭头之间的区域时,水平滚动条每次改变10个单位,而单击垂直滚动条和滚动箭头之间的区域时,垂直滚动条每次改变5个单位,当用户单击水平滚动条或者垂直滚动条的箭头时,每次只是移动一个单位。
HscrollBar控件和VscrollBar控件中的Max属性用于设置当滚动框处于底部(对于垂直滚动条)或最右位置(对于水平滚动条)时,一个滚动条位置的 Value 属性最大设置值。
与Max属性向对应,Min属性则用于设置当滚动框处于顶部(对于垂直滚动条)或最右位置(对于水平滚动条)时,一个滚动条位置的 Value 属性最小设置值。
它们的语法结构如下所示:
object.Max [= value]
object.Min [= value]
对于Max属性和Min 属性,它们的有效设置值范围是在 -32,768 和 32,767 之间的一个整数。如果 Max属性设置值比 Min属性设置值小,那么最大值将被分别设为水平滚动条或垂直滚动条的最左面或最上面的位置处。
下面就是一个综合的利用HscrollBar控件和VscrollBar控件的各种属性来设计的一个应用程序,它的作用是在窗体的范围内跟踪鼠标的位置,并且用HscrollBar控件和VscrollBar控件表示出来,实现它的具体步骤如下:
首先启动一个新的项目,在屏幕上就会出现一个空白的窗体,在窗体上放置一个HscrollBar控件、VscrollBar控件和一个PictureBox控件,其中HscrollBar控件的作用是跟踪鼠标的水平位置,VscrollBar控件的作用是跟踪鼠标的垂直位置,利用这两个控件的综合作用就可以跟踪窗体中鼠标的位置了,而PictureBox控件的作用是为鼠标的移动提供一个容器,添加控件后的窗体如图2-33所示。

图2-33 添加控件后的窗体
其中控件的属性设置如表2-12示。
表2-12 控件的属性设置
|
控 件 |
属 性 |
设 置 |
|
PictureBox |
(Name) |
Picture1 |
|
Height |
2415 | |
|
Left |
360 | |
|
Top |
360 | |
|
Width |
3735 | |
|
VscrollBar |
(Name) |
VScroll1 |
|
Height |
2415 | |
|
Left |
4080 | |
|
Top |
360 | |
|
Width |
255 | |
|
HScrollBar |
(Name) |
HScroll1 |
|
Height |
255 | |
|
Left |
360 | |
|
Top |
2760 | |
|
Width |
3735 |
在程序的设计阶段双击窗体,就会弹出一个代码窗口,在窗体Form_Load()事件中添加下列程序的初始化代码:
Private Sub Form_Load()
VScroll1.Min = 0
HScroll1.Min = 0
'设置控件的最小设置值
VScroll1.Max = 100
HScroll1.Max = 100
'设置控件的最大设置值
VScroll1.Value = 50
HScroll1.Value = 50
'初始化滚动块的位置
End Sub
程序说明:
程序首先通过四条语句来设置垂直滚动条和水平滚动条的最大设置值和最小设置值。
然后通过VScroll1.Value = 50、 HScroll1.Value = 50来初始化滚动块的初始位置在滚动条的中间。
双击窗体中的PictureBox控件,在弹出的代码窗口中移动到Picture1_MouseMove()事件中,并且添加下列响应鼠标动作的代码:
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Y > Picture1.Top And Y < Picture1.Top + Picture1.Height Then
VScroll1.Value = (Y - Picture1.Top) / (Picture1.Height) * 100
'跟踪垂直位置
End If
If X > Picture1.Left And X < Picture1.Left + Picture1.Width Then
HScroll1.Value = (X - Picture1.Left) / (Picture1.Width) * 100
'跟踪水平位置
End If
End Sub
程序说明:
在程序的运行过程中,当鼠标在控件Picture1中时,就会激活Picture1_MouseMove()事件。
然后程序通过两个赋值语句把鼠标的当前位置转换成水平滚动条和垂直滚动条的Value属性值。
这样就实现了滚动条对鼠标位置的跟踪,但是当鼠标移出控件Picture1,滚动条的位置就不在变化了。
程序的运行结果如图2-34所示。

图2-34 滚动条对鼠标的跟踪
列表框(ListBox)控件的作用时显示一个项目列表,用户可以从中可以选择一个或者多个选项。
如图2-35所示即为在工具箱上的ListBox 控件。
|
ListBox控件 |
图2-35 工具箱上的ListBox 控件
ListBox控件有很多独特的属性,所以要想真正的掌握ListBox控件,首先就要熟悉这些属性。
Columns属性用于设置ListBox 控件是水平还是垂直滚动、以及显示选项中列的排列方式。
它的语法结构如下所示:
object.Columns [= number]
其中Columns属性设置值及其说明如下:
n ListBox 竖直滚动,并且所有的选项都排列在一列中;
n 1到 n ListBox 水平滚动,同时选项会自动的安排在多个列中。
下面就是一个Columns属性应用的例子,首先启动一个新的项目,在空白的窗体上放置两个ListBox控件,控件的属性设置如表2-13所示。
表2-13 控件的属性设置
|
控 件 |
属 性 |
设 置 |
|
ListBox |
(Name) |
List2 |
|
Columns |
2 | |
|
Height |
2595 | |
|
Left |
2400 | |
|
Top |
240 | |
|
Width |
1935 | |
|
ListBox |
(Name) |
List1 |
|
Columns |
0 | |
|
Height |
2595 | |
|
Left |
240 | |
|
Top |
240 | |
|
Width |
1935 |
其中控件List1中的所有选项都处于同一列中,而控件List2的选项会自动的排列在两列中。
添加控件后的窗体如图2-36所示。

图2-36 添加控件后的窗体