UpDown 控件是一对箭头按钮,用户可通过单击这些按钮递增或递减数值,例如滚动位置,或在伙伴控件中显示的数字。伙伴控件可以是其它任何类型的控件,只要它具有可被 UpDown 控件更新的属性。
对用户来说,UpDown 控件及其伙伴控件通常看上去象是一个控件。可以指定 UpDown 控件自动地定位于其伙伴控件的旁边,并自动将伙伴控件的值设置为自己的当前值。例如,可以将 UpDown 控件和 Textbox 控件一起使用,以提示用户数字类型的输入值。下面显示的 UpDown 控件将 Textbox 控件作为其伙伴控件,该联合有时被称为旋转器控件。

要使用 UpDown 控件,必须首先将其 BuddyControl 属性设置为另一个控件,并将 BuddyProperty 设置为另一个控件的可滚动属性。Min 和 Max 属性确定了该控件的数值范围,Wrap 属性决定当最终用户输入的值超过 Min 或 Max 值时,是否会折回。Increment 属性指定在每次单击上箭头或下箭头时 Value 属性的变化量。
在设计时,如果将 AutoBuddy 属性设置为 True,那么 UpDown 控件自动把 TabOrder 中位于它前面的控件作为它的“伙伴”。
自动设置伙伴控件
图 2.43 UpDown 控件属性页中的“合作者”选项卡

UpDown 控件有多个事件和属性,以便确定该控件如何滚动。
当按住向上按钮或向下按钮时,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 = TrueEnd WithEnd Sub'将OptionButton的Value改为'UpDown控件的Value属性。Private Sub updToggle_Change()optToggle.Value = updToggle.ValueEnd Sub
用 UpClick 和 DownClick 事件,可以准确地控制 UpDown 控件如何在一系列的值之间滚动。例如,如果希望值能够迅速地向上滚动,而向下滚动时较慢,可将 Increment 属性设置为不同的值,如下所示:
Private Sub updScroll_UpClick() 'UpDown控件的名称是“updScroll”updScroll.Increment = 5End SubPrivate Sub updScroll_DownClick()'用户单击向下按钮时,'Increment转换为1,以获得较好的分辨率。updScroll.Increment = 1End Sub