2012-04-07 64 views
5

Tôi cần có TreeView chỉ với thanh cuộn dọc.C# WinForms TreeView xóa Thanh cuộn ngang

Tôi đã thử this nhưng nó không hoạt động, thanh cuộn kết quả không làm gì cả.

tôi đã cố gắng điều ngược lại (cuộn true và vô hiệu hóa thanh cuộn ngang với chức năng user32.dll) - nó không làm việc, khi tôi thêm thời gian đủ dài công cụ để TreeView scrollbar cho thấy một lần nữa ...

Trả lời

10

Bạn có thể thử bật kiểu cửa sổ TVS_NOHSCROLL trên điều khiển treeview. Để làm như vậy, bạn phải mở rộng sự kiểm soát TreeView tiêu chuẩn với một TreeView tùy chỉnh như thế này:

public class NoHScrollTree : TreeView { 
protected override CreateParams CreateParams { 
get { 
    CreateParams cp = base.CreateParams; 
    cp.Style |= 0x8000; // TVS_NOHSCROLL 
    return cp; 
} 
} } 
+0

Cảm ơn bạn! Đây là nó – Istrebitel

+1

Đây là một lớp sẵn sàng để có một thuộc tính "HorizontalScrollbar" có thể được thiết lập trong nhà thiết kế: https://pastebin.com/dnbGfiqp – Codecat

1

Nếu mục đích của bạn là để có được cái nhìn và cảm thấy như Windows Vista và 7 cây bản địa, sau đó bạn nên làm theo này ,

How to get Windows native look for the .NET TreeView?

SetWindowTheme là cần thiết. Sau đó, thanh cuộn ngang sẽ không xuất hiện.

Nó hoạt động trên Windows Vista và Windows 7.

+0

Không, tôi chỉ muốn những gì tôi yêu cầu, nhưng vẫn cảm ơn thông tin có giá trị! ;) – Istrebitel

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