2009-02-24 36 views
7

Có ai có ý tưởng về cách tạo thanh trượt với nhiều thanh trượt trong WinForms không? Tôi muốn đánh dấu một phạm vi. Ngoài ra, có thể bù lại các thanh trượt theo chiều dọc một chút không? Mục tiêu của tôi là có hai thanh trượt phía trên thanh trượt, và hai thanh trượt bên dưới nó.Nhiều thanh trượt cho các dạng cửa sổ

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

Trả lời

7

Bạn có thể thực hiện việc này bằng cách viết số UserControl của riêng mình nơi bạn xử lý các sự kiện chuột và tự vẽ. Bạn sẽ cần một số vùng thử nghiệm hit; một cho mỗi ngón cái.

Để vẽ thanh trượt, bạn sẽ cần kết hợp ControlPaint và API tạo chúng được cung cấp bởi không gian tên System.Windows.Forms.VisualStyles. Đáng chú ý nhất là VisualStyleElement.TrackBar.ThumbTop, VisualStyleElement.TrackBar.ThumbBottomVisualStyleElement.TrackBar.Track để vẽ các ngón tay cái và theo dõi tương ứng.

Bạn sử dụng các cuộc gọi ControlPaint để vẽ khung và nút cho bản nhạc và ngón tay cái khi tính năng này không khả dụng (chẳng hạn như trên Win2k hoặc khi tắt chúng).

+0

Tôi đã không làm bất cứ điều gì như thế này trước đây. Nếu tôi tự vẽ mọi thứ, liệu có cách nào để vẫn nhận được hành vi "chuẩn" cho tumbs và ve, hay tôi cũng phải thiết kế nó? – Presidenten

+0

Thật không may, bạn sẽ cần thiết kế và tự viết mã. Có các kiểu trực quan để vẽ ve khi chúng có sẵn, nhưng bạn có trách nhiệm xác định bố cục, xử lý tương tác bàn phím và chuột, v.v. –

0

Bạn có thể vẽ của riêng bạn sử dụng ControlPaint để đảm bảo vẽ phù hợp với phần còn lại của giao diện người dùng của bạn.

+0

Tôi chưa bao giờ sử dụng ControlPaint trước đây. Bạn có thể mô tả chi tiết hơn một chút về việc nó sẽ được thực hiện như thế nào? – Presidenten

Các vấn đề liên quan