Tôi có quyền kiểm soát chế độ xem tre .NET Windows Forms thông thường. Các nút được thiết lập như thế này:Hoạt động nhấp đúp vào TreeView trong .NET/C#
Nhóm
--- con
--- con
Nếu tôi nhấp đúp vào một nút Nhóm sụp đổ, nó mở rộng (như bạn mong muốn) và sự kiện NodeMouseDoubleClick được tắt, trong đó mã của tôi thực hiện điều gì đó nếu nút được chọn KHÔNG phải là nút nhóm.
Sự cố phát sinh khi Nhóm được đặt gần cuối treeview, do đó khi tôi nhấp đúp vào nút Nhóm, nó sẽ yêu cầu các khung nhìn để mở rộng theo chiều dọc để vừa với các nút con vào chế độ xem. Trong trường hợp này, nếu tôi nhấp đúp vào nút Nhóm, vào thời điểm nó mở rộng và điều chỉnh treeview, con trỏ chuột của tôi nằm trên nút con (nó phải đẩy mọi thứ lên) và điều đó khiến cho NodeMouseDoubleClick nghĩ rằng nút con được chọn, gây ra hành vi rất kỳ quặc.
Làm cách nào để giải quyết vấn đề này? Tôi có nên không sử dụng NodeMouseDoubleClick hay ..?
Tôi thấy điều này cũng được giải thích trong báo cáo phản hồi Problem with TreeView DoubleClick event after expanding/collapsing caused change of scroll.
nếu khách hàng muốn, tôi sẽ thực hiện nó ... – thumbmunkeys
Điều đó có ý nghĩa nếu nút không có con, để làm điều gì đó với nội dung mà nút đó đại diện. Điều đó có vẻ phù hợp, hoặc ít nhất là hợp lý. Tôi đang làm điều này khi các nút với trẻ em đại diện cho các thư mục và các nút mà không có nội dung đại diện cho các tệp. Nhấp đúp vào nút tệp sẽ khiến tệp mở. – jeromeyers