Does anyone have any idea on how to create a trackbar with multiple sliders in WinForms? I would like to mark a range. Also, is it possible to offset the sliders vertically a little bit? My goal would be to have two sliders above the trackbar, and two below it.
v-----------------v
________________________________________
^------^
You can do this by writing your own UserControl
where you handle the mouse events and painting yourself. You would need several hit test regions; one for each thumb.
To draw the trackbar, you would need a combination of ControlPaint
and the theming APIs provided by the System.Windows.Forms.VisualStyles
namespace. Most notably, the VisualStyleElement.TrackBar.ThumbTop
, VisualStyleElement.TrackBar.ThumbBottom
, and VisualStyleElement.TrackBar.Track
for drawing the thumbs and track respectively.
You use the ControlPaint
calls to draw a frame and buttons for the track and thumbs when theming is unavailable (such as on Win2k or when theming is disabled).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With