用于Windows窗体的多个滑块轨迹栏

Pre*_*ten 7 c# winforms

有没有人知道如何在WinForms中创建带有多个滑块的轨迹栏?我想标记一个范围.此外,是否可以垂直偏移滑块?我的目标是在轨道栏上方放置两个滑块,在轨道栏下方放置两个滑块.

     v-----------------v
________________________________________
                                ^------^
Run Code Online (Sandbox Code Playgroud)

Jef*_*tes 7

您可以通过编写自己UserControl处理鼠标事件和自己绘画的地方来完成此操作.你需要几个命中测试区域; 每个拇指一个.

要绘制轨迹栏,您需要命名空间ControlPaint提供的组合和主题API System.Windows.Forms.VisualStyles.最值得注意的是 VisualStyleElement.TrackBar.ThumbTop,VisualStyleElement.TrackBar.ThumbBottomVisualStyleElement.TrackBar.Track绘制拇指分别跟踪.

ControlPaint当主题不可用时(例如在Win2k上或禁用主题时),您可以使用调用为轨道和拇指绘制框架和按钮.