有了HScrollBar(水平滾動條,如圖)和VScrollBar(垂直滾動條,如圖),就可在應用程序的窗體或控件容器中水平或垂直滾動,相當方便地巡視一長列項目或大量信息。
水平、垂直滾動條控件不同於Windows中內部的滾動條或Visual Basic中那些附加在文本框、列表框、組合框或MDI窗體上的滾動條。無論何時,只要應用程序或控件所包含的信息超過當前窗口(或者設置了ScrollBars屬性的TrueBox控件)所能顯示的信息,那些滾動條就會自動出現。在較早的Visual Basic版本中,通常把滾動條作為輸入設備。但目前的Windows界面指南則建議用滑塊取代滾動條作為輸入設備。滾動條在Visual Basic中仍然不價值,因為它為那些不能支持自動支持滾動的應用程序和控件提供了滾動的功能。
1.ScrollBar控件如何工作
滾動條控件用“Scroll”和“ValueChanged”事件監視滾動框沿滾動條的滾動。“ValueChanged”在滾動框移動之後發生;“Scroll”在ValueChange發生後釋放鼠標時發生。在單擊滾動箭頭或滾動條時,也是先發生ValueChange事件,再發生Scroll事件。下面的代碼中,Scroll事件將當前窗體的標題設置為Value值,ValueChange事件將當前窗體的標題設置為兩倍的Value值:
Public Sub HScrollBar1_Scroll(Byval sender As Object,_ Byval As System.WinForms.ScrollEventArgs)Handles HScrollBar1.Scroll Me.Text=CStr(hscrollbar1.Value) End Sub Public Sub HScrollBar1_ValueChanged(Byval sender As Object,_ Byval As System.EventArgs)Handles HScrollBar1.ValueChanged Me.Text=CStr(hscrollbar1.Value*2) End Sub
2.Value屬性
Value屬性(缺省值為0)是一個整數,它對應於滾動框在滾動條中的位置。當滾動框位置在最小值時,它將移動到滾動條的最左端位置(水平滾動條)或頂端位置(垂直滾動條)。當滾動框在最大值時,它將移動到滾動條的最右端或底端位置。同樣,滾動框取中間數值時將位於滾動條的中間位置。除了可用鼠標單擊改變滾動條數值外,也可將滾動框沿滾動條拖動到任意位置。結果取決於滾動框的位置,但總是在用戶所設置的“Minimum”和“Maximum”之間。
3.LargeChange和SmallChange屬性
為了指定滾動條中的移動量,對於單擊滾動條的情況可用LargeChange屬性,對於單擊滾動條兩端箭頭的情況可用SmallChange屬性。滾動條的Value屬性增加或減少的長度是由LargeChange和SmallChange屬性設置的數值。要設置滾動框在運行時的位置,可將Value屬性設為Minimum到Maximum中的某個數值。