Đây là một chút kỳ lạ, nhưng tôi đã phải vật lộn trong vài giờ và tôi không thể hiểu điều gì đang xảy ra.Không thể thoát ra khỏi danh sách thả xuống Winforms danh sách dữ liệu
Tôi đã tự hỏi liệu có ai khác đã gặp phải sự cố này hay không và có thể giải thích được. Tôi đang xây dựng một ứng dụng Winforms đơn giản và cố gắng sử dụng nhiều bộ điều khiển được tích hợp sẵn.
Về cơ bản, tôi có biểu mẫu có điều khiển người dùng và một số trường chụp dữ liệu. 3 trong số các trường là danh sách thả xuống và trên điều khiển người dùng, tôi có một điều khiển bindingSource liên kết trực tiếp với một lớp Sản phẩm.
Khi chạy, tôi cung cấp một phiên bản của lớp Sản phẩm cho BindingSource và lớp có chứa thuộc tính ProductType
. Để đơn giản, tôi cũng đã thêm List<ProductType>
ProductTypes vào Lớp sản phẩm tự tải khi được truy vấn, có nghĩa là tôi chỉ có thể sử dụng cùng một bindingSource và chọn ProductTypes
Thành viên dữ liệu làm Nguồn dữ liệu cho danh sách thả xuống.
Khi chạy biểu mẫu, danh sách liên kết hoàn hảo và tôi có thể thấy tất cả các loại sản phẩm được liệt kê và tôi có thể chọn một loại và tab hoặc nhấp vào trường tiếp theo. Nhưng rõ ràng giá trị được chọn sẽ không ràng buộc bởi vì tôi đã không chọn bất kỳ bindings-SelectedValue nào cho trình đơn thả xuống, chỉ một nguồn dữ liệu. Ngay sau khi tôi đảm bảo rằng trình đơn thả xuống sửa đổi cá thể của Sản phẩm bằng cách liên kết với Bindings-SelectedValue, sau đó chạy biểu mẫu, danh sách vẫn được điền hoàn toàn và tôi có thể tab qua các điều khiển miễn là tôi không tạo vùng chọn từ menu thả xuống. Nếu tôi thực hiện lựa chọn từ menu thả xuống thì trình đơn thả xuống giữ tiêu điểm. Tôi không thể tab ra cho tình yêu hay tiền bạc và thậm chí không thể nhấp vào nút hủy bỏ trên biểu mẫu, nút đóng trên cùng bên phải là nút duy nhất tôi có thể bấm vào đó hoạt động và tôi không thể bấm vào bất kỳ lĩnh vực khác hoặc thả xuống. Điều này ảnh hưởng đến cả ba danh sách thả xuống ngay sau khi lựa chọn được thực hiện.
Bất kỳ ai có bất kỳ ý tưởng nào tôi đang thiếu?
Tôi đã thử thay đổi một vài điều và có một số thành công bằng cách cho các giá trị thả xuống một chuỗi [] thay vì một thành viên của một đối tượng. Điều đó dường như làm việc, nhưng đánh bại đối tượng sử dụng databinding phải không?
Bất kỳ trợ giúp nào được đánh giá cao!
Rất cám ơn Tom - không thể tin rằng điều đó thật đơn giản! Goes để hiển thị những gì sẽ xảy ra khi bạn không bao gồm kiểm tra xác nhận bởi vì nó là một ứng dụng thử nghiệm ;-) – RobertTheGrey
Chúng ta có thể bắt lỗi xác nhận đó không? Điều gì sẽ xảy ra? – Lamar