Tôi có một System.Windows.Forms.TreeView
được gắn trong bảng điều khiển. Tôi đang thiết lập một nút được chọn theo lập trình. Tôi sẽ sử dụng phương pháp hoặc thuộc tính nào để có chế độ xem tre cuộn chế độ xem được chọn vào chế độ xem?Di chuyển nút TreeView đã chọn sang chế độ xem
21
A
Trả lời
33
node.EnsureVisible();
ví dụ:
if(treeView.SelectedNode != null) treeView.SelectedNode.EnsureVisible();
(thấy MSDN)
0
tôi đã có một số vấn đề với node.EnsureVisible()
không làm việc cho cây chỉ với một mức độ nút.
Để khắc phục điều này, hãy sử dụng số BindingIndex
để xác định nút đã chọn. Sau đó, nút được chọn sẽ được cuộn trong chế độ xem.
Ví dụ hiển thị myTable
từ truy vấn LINQ.
node.BindingIndex = Convert.ToInt32(mytable.Id);
Tôi hy vọng điều này sẽ giúp ích cho bạn.
1
Tôi cũng đã có vấn đề với điều này và tìm ra rằng treeview.ExpandAll() bỏ qua hiệu ứng EnsureVisible() và tránh việc di chuyển đến vị trí nút.
Chỉ cần gọi EnsureVisible() sau khi ExpandAll() nếu bạn muốn một cây mở rộng đầy đủ với cuộn trên nút bạn đã chọn.
Nếu bạn muốn thêm nút này vào đầu ** của 'TreeView', bạn có thể sử dụng' treeView.TopNode = treeView.SelectedNode' sau khi kiểm tra giá trị null thay vì 'treeView.SelectedNode.EnsureVisible () '. –