2008-09-17 25 views

Trả lời

330

Để làm cho phần văn bản của ComboBox không thể chỉnh sửa, hãy đặt thuộc tính DropDownStyle thành "DropDownList". ComboBox bây giờ về cơ bản là chỉ dành cho người dùng. Bạn có thể thực hiện việc này trong trình thiết kế Visual Studio hoặc trong C# như sau:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList; 

Liên kết tài liệu cho ComboBox DropDownStyle property trên MSDN.

+6

Một điều cần ghi nhớ làm điều này có nghĩa là bạn không còn có thể cập nhật 'bất động sản văn bản' programmically, đã sử dụng nó để hiển thị một thông báo mặc định bằng cách sử dụng 'ComboBox.SelectedIndex = -1;' – Lankymart

+0

Có cách nào để thực hiện điều này thông qua GUI cho Visual C# mà không cần phải chỉnh sửa nó trong mã không? Có vẻ như một 'giá trị mặc định' sẽ là một điều bình thường để muốn thiết lập – muzzlator

+0

@muzzlator xem câu trả lời của tôi dưới đây http://stackoverflow.com/a/26005210/1241244 – invertigo

19

Ở trên ComboBox và tìm kiếm thuộc tính DropDropStyle từ cửa sổ thuộc tính và sau đó chọn DropDownList.

51

Để thêm một Visual Studio GUI tham khảo, bạn có thể tìm DropDownStyle tùy chọn dưới Properties của ComboBox chọn:

enter image description here

Mà sẽ tự động thêm dòng đề cập trong câu trả lời đầu tiên cho Form. designer.cs InitializeComponent(), như vậy:

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 
2

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

1

Tiếp tục hiển thị dữ liệu trong đầu vào sau khi chọn, làm như vậy:

VB.NET 
Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress 
    e.Handled = True 
End Sub 



C# 
Private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    e.Handled = true; 
} 
Các vấn đề liên quan