Tôi muốn sử dụng một ComboBox với kiểu DropDownList (một trong đó làm cho nó trông giống như một nút để bạn không thể nhập một giá trị) để chèn một giá trị vào một hộp văn bản. Tôi muốn combobox có một nhãn văn bản được gọi là 'Wildcards' và khi tôi chọn một ký tự đại diện từ danh sách giá trị được chọn sẽ được chèn vào một hộp văn bản và văn bản combobox vẫn là 'Wildcard'. Vấn đề đầu tiên của tôi là tôi dường như không thể thiết lập một giá trị văn bản khi combobox là trong phong cách DropDownList. Sử dụng pallet thuộc tính không hoạt động, giá trị văn bản chỉ đơn giản là xóa khi bạn nhấp vào, thêm comboBox.Text = "Wildcards"; form_load cũng không hoạt động. Có ai giúp được không?C# ComboBox trong kiểu DropDownList, làm cách nào để đặt văn bản?
Trả lời
Mã này bạn chỉ định:
comboBox.Text = "Wildcards";
... nên làm việc. Lý do duy nhất nó sẽ không phải là văn bản bạn chỉ định không phải là một mục trong danh sách mục của comboBox. Khi sử dụng kiểu DropDownList, bạn chỉ có thể đặt Văn bản thành các giá trị thực sự xuất hiện trong danh sách.
Nếu trường hợp bạn đang cố gắng đặt văn bản thành Ký tự đại diện và mục đó không xuất hiện trong danh sách và giải pháp thay thế không được chấp nhận, bạn có thể phải hơi bẩn với mã và thêm một mục tạm thời bị xóa khi danh sách thả xuống được mở rộng.
Ví dụ, nếu bạn có một hình thức có chứa một combobox tên "comboBox1" với một số mặt hàng và một nút có tên là "button1" bạn có thể làm một cái gì đó như thế này:
private void button1_Click(object sender, EventArgs e)
{
if (!comboBox1.Items.Contains("Wildcards"))
{
comboBox1.Items.Add("Wildcards");
}
comboBox1.Text = "Wildcards";
}
private void comboBox1_DropDown(object sender, EventArgs e)
{
if (comboBox1.Items.Contains("Wildcards"))
comboBox1.Items.Remove("Wildcards");
}
Đó là khá nhanh chóng và dơ bẩn nhưng bởi nắm bắt sự kiện DropDownClosed quá bạn có thể làm sạch nó lên một chút, thêm mục "Wildcards" trở lại khi cần thiết.
Hãy thử điều này
comboBox1.SelectedValue = "Wildcards";
Đây có thể là một giải pháp khả thi:
comboBox1.SelectedValue = comboBox1.Items.FindByText("Wildcards").Value;
Bạn có thể chọn một trong các mục trên formload hoặc dưới hình thức constructor:
public MyForm()
{
InitializeComponent();
comboBox.SelectedIndex = 0;
}
hoặc
private void MyForm_Load(object sender, EventArgs e)
{
comboBox.SelectedIndex = 0;
}
Tôi thích cách làm sạch giải pháp này. +1 –
- 1. Xóa văn bản đã chọn ComboBox
- 2. Làm cách nào để buộc một ComboBox kiểu DropDownList chỉ mở khi người dùng nhấp vào nút thả xuống?
- 3. Cách hiển thị văn bản trong combobox khi không có mục nào được chọn?
- 4. Làm cách nào để nhập kiểu văn bản khi nhập?
- 5. Làm cách nào để đặt DataSource thành DropDownList?
- 6. Tìm chỉ mục DropDownList theo văn bản
- 7. Làm thế nào để làm cho DropDownList readonly trong C#
- 8. Cách hiển thị văn bản quá dài trong WPF ComboBox
- 9. Có cách nào đơn giản để làm cho văn bản html và văn bản kiểu nhập văn bản rộng không?
- 10. ComboBox.SelectedValue không phù hợp với hiển thị văn bản khi DropDownStyle = DropDownList trong Windows 7
- 11. Làm cách nào để đặt văn bản của TextView?
- 12. Làm cách nào để nối văn bản vào một tệp văn bản trong C++?
- 13. C# - cách đặt văn bản trong hộp văn bản để hiển thị gợi ý khi hộp văn bản trống?
- 14. Làm cách nào để đặt Gtk.StatusIcon thành Văn bản
- 15. Làm cách nào để dễ dàng chỉnh sửa kiểu của văn bản đã chọn trong JTextPane?
- 16. Cách đặt văn bản trong EditText
- 17. Đặt hình ảnh và chuỗi bằng C# Combobox
- 18. Làm cách nào để đặt chiều cao của trường nhập (văn bản) trong CSS?
- 19. Làm cách nào để bạn xử lý nhiều lựa chọn trong điều khiển kiểu thả xuống?
- 20. Làm cách nào để sao chép tệp văn bản trong C hoặc C++?
- 21. Làm cách nào để nén văn bản?
- 22. Làm cách nào để đánh dấu văn bản trong Scintilla?
- 23. WPF giá trị combobox và hiển thị văn bản
- 24. Làm cách nào để đặt/thay đổi/xóa kiểu tiêu điểm trên Nút trong C#?
- 25. Làm thế nào để đặt một biểu tượng bên trong hộp văn bản trong jquery mobile
- 26. Cách đặt g: kiểu văn bản thành phông chữ đậm trong Tiện ích Windows?
- 27. Làm cách nào để định dạng kiểu thanh cuộn trên vùng văn bản?
- 28. Làm cách nào để sử dụng glutBitmapString() trong C++ để vẽ văn bản lên màn hình?
- 29. WPF: Thả xuống của một Combobox highlightes văn bản
- 30. C# loop thông qua combobox nơi nguồn dữ liệu là một datatable với văn bản
Cảm ơn vì điều đó, tôi đã học được rất nhiều C# từ trang web blackwasp và tôi vẫn đề cập đến nó. Cảm ơn! –
Bạn được chào đón nhiều nhất :-) – BlackWasp
Rất kỳ lạ, việc đặt thuộc tính "Văn bản" trong trình thiết kế biểu mẫu là không đủ - nó phải được đặt trong mã phía sau trong trường hợp của tôi. Cố gắng thiết lập nó từ cửa sổ thuộc tính biểu mẫu sẽ chỉ xóa sạch thuộc tính "Văn bản" sau khi nhấp vào nó. – Rachael