2010-03-10 32 views
6

Tôi có một biểu mẫu có Điều khiển Hộp tổ hợp. Tôi đã chọn thuộc tính kiểu thả xuống cho DropDown. Tôi cũng đã đặt Độ rộng Thả xuống thành 250. Tôi đã đặt chế độ tự động hoàn thành để đề xuất và tự động hoàn thành nguồn thành danh sách. nó hoạt động hoàn toàn tốt khi tôi bấm vào thả xuống. nhưng khi tôi gõ vào somethin, chế độ tự động hoàn thành kích hoạt một thả xuống trong đó có một chiều rộng nhỏ.Làm việc với .net Combo Boxes

bất kỳ trợ giúp nào được đánh giá cao. tôi muốn biết cách tăng chiều rộng của trình đơn thả xuống hoàn toàn tự động qua mã để các mục trong danh sách được xem đúng cách. Tôi đang sử dụng C#

+1

lẽ chia sẻ một số mã của bạn có thể giúp chúng ta xác định vấn đề này. :) –

Trả lời

4

Vâng, đây là theo thiết kế. ComboBox sử dụng SHAutoComplete API function để triển khai tính năng tự động hoàn tất. Lưu ý việc khai báo, hàm sẽ xử lý phần hộp văn bản của ComboBox. Như vậy, nó không có ý tưởng rằng nó thực sự cung cấp thông tin tự động hoàn chỉnh cho một ComboBox thay vì một TextBox. Theo đó, không có gì nó có thể làm để bù đắp cho chiều rộng thả xuống không chuẩn mà bạn sử dụng.

Vâng, điều đó giải thích tại sao nó không hoạt động. Sửa chữa nó là kỹ thuật có thể nhưng khá xấu xí. Bạn sẽ phải chạy mã trong sự kiện KeyUp và sử dụng EnumTheadWindows() để tìm xử lý cửa sổ tự động hoàn tất. Sau đó, bạn có thể sử dụng SetWindowPos() để làm cho nó lớn hơn. Đã có mã tương tự như vậy trong ComboBox.cs (AutoCompleteDropDownFinder.FindDropDowns), sử dụng Nguồn tham chiếu hoặc Trình phản xạ để giúp bạn nhận được quyền này. Chúc may mắn!

+2

Có vẻ như Calle đã làm công việc cho bạn. –

2

EDIT:
Tôi đã gỡ bỏ đề nghị đầu tiên của tôi để đến với một liên kết mới:

Trên thực tế có thể của nó để kiểm soát độ rộng của Autocomplete hộp thả xuống, nhưng một mình chút phức tạp và liên quan đến sử dụng thắng API rộng rãi ...

Combobox too small when doing Suggest

-1

Có lẽ bài viết này mà tôi đã viết trên Codeproject có thể giúp bạn trong việc liên quan đến các hộp combo-thả xuống và là một cách mà tôi bị hack này ...

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