2010-05-11 35 views

Trả lời

25

Bạn có muốn hiển thị mở rộng ban đầu không? Nếu vậy, sau đó gọi phương thức ExpandAll trên nút gốc sau khi bạn đã thêm tất cả các nút cây.

Nếu bạn muốn hiển thị mở rộng và không cho phép người dùng thu gọn, thì bạn cần xử lý sự kiện BeforeCollapsed và hủy sự kiện đó.

+0

Thực ra nó không phải sau khi thêm ** tất cả ** các nút cây, nhưng ít nhất một nút. Đây là thông tin hữu ích nếu bạn có cây luôn được cập nhật. – kdmin

+0

@kdmin: Tôi nghĩ bạn sẽ luôn muốn gọi 'ExpandAll()' sau khi tất cả các nút cây đã được thêm vào để mở rộng xảy ra sau khi khởi tạo điều khiển xảy ra; nếu không tôi nghĩ trạng thái của các nút có thể không đồng bộ. –

3

Đoán ở đây ... Trên sự kiện BeforeCollapsed, đặt e.Cancel = true;

+0

Có lẽ là sự kết hợp những gì tôi đã nói cùng với những gì Ashton nói. Đây có phải là cho một WinForm hoặc một WebForm? Tôi nghĩ cả hai đều có quyền kiểm soát TreeView. –

0

Sử dụng mã này:

private void ManagerFolder_Load(object sender, EventArgs e) 
{ 
    treeView.ExpandAll(); 
    treeView.Nodes[0].FirstNode.Collapse(); 
    treeView.Nodes[4].FirstNode.Collapse(); 
} 
-1

Bạn có thể tự hỏi nơi để đặt các tuyên bố treeview1.expandAll()? Bạn không thể đặt nó trong mã được tạo bởi nhà thiết kế, hoặc nó sẽ bị xóa ở dạng làm mới/lưu tiếp theo.

Tôi đã đặt mã này trong mã "Form1.cs", trong phần lớp một phần liên quan đến việc khởi tạo biểu mẫu và nó hoạt động. Ngay sau khi các InitializeComponent() statement (nếu bạn không biết những gì tôi đang nói đến, chỉ thấy rằng tuyên bố)

Hy vọng nó sẽ giúp :)

PD. Cảm ơn sự hỗ trợ của bạn, bạn thật tuyệt vời!

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