Сенсорная панель с несколькими слайдерами для форм Windows

Кто-нибудь знает, как создать трекбар с несколькими ползунками в WinForms? Хочу отметить диапазон. Кроме того, можно ли немного сместить ползунки по вертикали? Моей целью было бы иметь два ползунка над трекбаром и два под ней.

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

Ответов (2)

Решение

Вы можете сделать это, написав свой собственный, UserControl где вы обрабатываете события мыши и раскрашиваете себя. Вам понадобится несколько областей проверки попадания; по одному на каждый большой палец.

Чтобы нарисовать трекбар, вам понадобится комбинация ControlPaintAPI-интерфейсов тематики, предоставляемых System.Windows.Forms.VisualStylesпространством имен. В частности VisualStyleElement.TrackBar.ThumbTop, VisualStyleElement.TrackBar.ThumbBottomи VisualStyleElement.TrackBar.Trackдля рисования больших пальцев и дорожки соответственно.

Вы можете использовать ControlPaint вызовы, чтобы нарисовать рамку и кнопки для дорожки и больших пальцев, когда тематизация недоступна (например, в Windows 2000 или когда тема отключена).

Вы можете нарисовать свой собственный, используя, ControlPaint чтобы убедиться, что рендеринг соответствует остальной части вашего пользовательского интерфейса.