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

时间:2009-02-24 12:26:31

标签: c# winforms

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

     v-----------------v
________________________________________
                                ^------^

2 个答案:

答案 0 :(得分:7)

您可以通过编写自己的UserControl来处理鼠标事件并自己绘画。你需要几个命中测试区域;每个拇指一个。

要绘制轨迹栏,您需要ControlPaintSystem.Windows.Forms.VisualStyles命名空间提供的主题API的组合。最值得注意的是,VisualStyleElement.TrackBar.ThumbTopVisualStyleElement.TrackBar.ThumbBottomVisualStyleElement.TrackBar.Track分别用于绘制拇指和曲目。

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

答案 1 :(得分:0)

您可以使用ControlPaint绘制自己的内容,以确保呈现与UI的其余部分保持一致。