使用 UpDown 控件

UpDown 控件是一对箭头按钮,用户可通过单击这些按钮递增或递减数值,例如滚动位置,或在伙伴控件中显示的数字。伙伴控件可以是其它任何类型的控件,只要它具有可被 UpDown 控件更新的属性。

对用户来说,UpDown 控件及其伙伴控件通常看上去象是一个控件。可以指定 UpDown 控件自动地定位于其伙伴控件的旁边,并自动将伙伴控件的值设置为自己的当前值。例如,可以将 UpDown 控件和 Textbox 控件一起使用,以提示用户数字类型的输入值。下面显示的 UpDown 控件将 Textbox 控件作为其伙伴控件,该联合有时被称为旋转器控件。

可能的用途

基本操作

要使用 UpDown 控件,必须首先将其 BuddyControl 属性设置为另一个控件,并将 BuddyProperty 设置为另一个控件的可滚动属性。Min 和 Max 属性确定了该控件的数值范围,Wrap 属性决定当最终用户输入的值超过 Min 或 Max 值时,是否会折回。Increment 属性指定在每次单击上箭头或下箭头时 Value 属性的变化量。

用 AutoBuddy 属性自动设置伙伴控件

在设计时,如果将 AutoBuddy 属性设置为 True,那么 UpDown 控件自动把 TabOrder 中位于它前面的控件作为它的“伙伴”。

自动设置伙伴控件

  1. 在窗体中绘制伙伴控件。

  2. 在窗体中绘制 UpDown 控件。

  3. 用鼠标右键单击 UpDown 控件,并单击“属性”以显示“属性页”对话框。

  4. 单击“合作者”以显示“合作者”选项卡,如下图 2.43 所示。

  5. 单击“自动合作者”复选框将 AutoBuddy 属性设置为 True。

  6. 单击“同步合作者”复选框将 SyncBuddy 属性设置为 True。

图 2.43 UpDown 控件属性页中的“合作者”选项卡

确定滚动行为

UpDown 控件有多个事件和属性,以便确定该控件如何滚动。

Increment 和 Wrap 属性

当按住向上按钮或向下按钮时,Wrap 属性决定该控件的行为。如果设置为 False,当达到 Max 或 Min 值时,该控件将停止滚动,并停在 Max 或 Min 值。如果设置为 True,该控件会折回到 Min 或 Max 值,并从由 Min 或 Max 确定的值继续递增(或递减)。

当单击向上按钮或向下按钮时,Increment 属性指定 Value 属性的变化量。该值不能为负数。它的一个用途是将字段或 OptionButton 在 True (-1) 和 False (0) 之间转换,如下面的代码所示:

Private Sub Form_Load()
   'UpDown 控件名为“updToggle”。
   'OptionButton 控件名为“optToggle”。
   With updToggle
      .BuddyControl = optToggle
      .Min = -1
      .Max = 0
      .Increment = 1
      .Wrap = True
   End With
End Sub

' OptionButton  Value 改为
'UpDown 控件的 Value 属性。
Private Sub updToggle_Change()
   optToggle.Value = updToggle.Value
End Sub

UpClick 和 DownClick 事件

用 UpClick 和 DownClick 事件,可以准确地控制 UpDown 控件如何在一系列的值之间滚动。例如,如果希望值能够迅速地向上滚动,而向下滚动时较慢,可将 Increment 属性设置为不同的值,如下所示:

Private Sub updScroll_UpClick()
   'UpDown 控件的名称是“updScrollupdScroll.Increment = 5
End Sub

Private Sub updScroll_DownClick()
   '用户单击向下按钮时,
   'Increment 转换为 1,以获得较好的分辨率。
   updScroll.Increment = 1
End Sub