2009-01-19 45 views
21

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

Trả lời

33
node.EnsureVisible(); 

ví dụ:

if(treeView.SelectedNode != null) treeView.SelectedNode.EnsureVisible(); 

(thấy MSDN)

+0

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 () '. –

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.

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