有没有人知道如何在WinForms中创建带有多个滑块的轨迹栏?我想标记一个范围。此外,是否可以垂直偏移滑块?我的目标是在轨道栏上方放置两个滑块,在轨道栏下方放置两个滑块。
v-----------------v
________________________________________
^------^
答案 0 :(得分:7)
您可以通过编写自己的UserControl
来处理鼠标事件并自己绘画。你需要几个命中测试区域;每个拇指一个。
要绘制轨迹栏,您需要ControlPaint
和System.Windows.Forms.VisualStyles
命名空间提供的主题API的组合。最值得注意的是,VisualStyleElement.TrackBar.ThumbTop
,VisualStyleElement.TrackBar.ThumbBottom
和VisualStyleElement.TrackBar.Track
分别用于绘制拇指和曲目。
当主题不可用时(例如在Win2k上或禁用主题时),您可以使用ControlPaint
调用为轨道和拇指绘制框架和按钮。
答案 1 :(得分:0)
您可以使用ControlPaint
绘制自己的内容,以确保呈现与UI的其余部分保持一致。