C# · 12月 22, 2021

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

有没有人知道如何在WinForms中创建带有多个滑块的轨迹栏?我想标记一个范围.此外,是否可以垂直偏移滑块?我的目标是在轨道栏上方放置两个滑块,在轨道栏下方放置两个滑块. v—————–v________________________________________ ^——^解决方法 您可以通过编写自己的UserControl来处理鼠标事件并自己绘画.你需要几个命中测试区域;每个拇指一个.

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

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