Skip to content

WaynesSlider 类

水平或垂直滑块控件——轨道上可拖动的滑块——用于编辑范围内的整数值。用户可以拖动滑块、点击轨道按一页步进值、或在控件具有焦点时使用箭头键;在轨道上按住鼠标按钮时激活可选的自动递增定时器。

控件绘制三种视觉状态(NormalStateHoverStateFocusedState),由并行的 WaynesSliderState 子对象控制,每个子对象有独立的背景和滑块的填充/边框/角样式。当前 Value 可选渲染为滑块上的文本——原始整数或格式化百分比——取决于 DisplayFormat

如果控件首次显示时 Height 大于 Width,滑块默认 Direction = Vertical;否则默认 Horizontal

vb
Private Sub Form_Load()
    sldVolume.MinValue = 0
    sldVolume.MaxValue = 100
    sldVolume.StepValue = 5
    sldVolume.PagingStepValue = 10
    sldVolume.DisplayFormat = SliderDisplayValueFormat.DisplayPercentage
End Sub

Value 只是一个 Long 属性——从控件外部赋值会移动滑块并触发重绘。结合 WaynesTimer,滑块可以在其范围内动画自身:

vb
Private Sub Form_Load()
    sldProgress.MinValue = 0
    sldProgress.MaxValue = 100
    sldProgress.Value = 0
    Timer1.Interval = 50
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    If sldProgress.Value < sldProgress.MaxValue Then
        sldProgress.Value = sldProgress.Value + 1
    Else
        Timer1.Enabled = False
    End If
End Sub

SliderDirection

滑块方向枚举,声明在 WaynesSlider 类内部。赋给 Direction

常量说明
Horizontal0轨道从左到右;箭头键 Left / Right 步进值。
Vertical1轨道从上到下;箭头键 Up / Down 步进值。

SliderDisplayValueFormat

Value 在滑块上的渲染方式,声明在 WaynesSlider 类内部。赋给 DisplayFormat

常量说明
DisplayValue0显示原始整数值。
DisplayPercentage1显示值为范围的百分比——FormatPercent((Value - MinValue) / (MaxValue - MinValue), 1)
DisplayNone2滑块上无文本。

属性

Anchors

调整大小时控件的哪些边附着到其容器。Anchors。继承。

Direction

滑块是水平还是垂直布局。SliderDirection 的成员。默认:首次显示时根据控件宽高比选择(Height > Width 时垂直,否则水平)。

DisplayFormat

Value 如何以文本形式渲染在滑块上。SliderDisplayValueFormat 的成员。默认:DisplayValue

Dock

控件在其容器内的停靠方式。DockMode 的成员。继承。

FocusedState

控件具有键盘焦点且鼠标未悬停时使用的 WaynesSliderState

Height

控件的高度(像素)。PixelCount。继承。

HoverState

鼠标悬停在滑块或轨道上时使用的 WaynesSliderState

Left

控件左边缘距其容器的水平偏移量(像素)。PixelCount。继承。

MaxValue

滑块值范围的上限。Long。默认:100。

MinValue

滑块值范围的下限。Long。默认:0。

MoveInterval

在轨道上按住鼠标按钮时 Value 自动递增的间隔(毫秒)。Long。值为 0 禁用自动重复。

Name

控件在其父窗体上的唯一设计时名称。String。继承。

NormalState

滑块空闲时——未悬停、未焦点——使用的 WaynesSliderState

PagingStepValue

用户在滑块外点击轨道(或在轨道上按住鼠标按钮)时 Value 的移动量。Long。默认:1。

StepValue

滑块的粒度——每次绘制前 Value 被四舍五入为 MinValue 偏移量的 StepValue 倍数。Long。默认:1。

TabIndex

控件在窗体 TAB 键导航顺序中的位置。Long。继承。

TabStop

用户是否可以通过按 TAB 到达控件。Boolean。继承。默认:True

Top

控件上边缘距其容器的垂直偏移量(像素)。PixelCount。继承。

Value

滑块当前在范围内的位置,以整数表示。Long。绘制时限制在 [MinValue, MaxValue] 内,除非 WrapAroundTrue

语法:object.Value [ = value ]

Visible

控件当前是否显示。Boolean。继承。默认:True

Width

控件的宽度(像素)。PixelCount。继承。

WrapAround

False(默认)时,Value 限制在 [MinValue, MaxValue] 范围内。当 True 时,允许范围外的值,滑块环绕——滑块在相反边缘绘制额外滑块实例以实现连续的视觉效果。Boolean

twinBASIC及其LOGO版权为作者"韦恩"所有