it-swarm-vi.tech

Làm cách nào để tạo ComboBox không thể chỉnh sửa trong .NET?

Tôi muốn có một ComboBox "chỉ chọn" cung cấp danh sách các mục để người dùng chọn. Việc gõ phải được tắt trong phần văn bản của điều khiển ComboBox.

Sự hiểu biết ban đầu của tôi về điều này đã đưa ra một đề nghị quá phức tạp, sai lầm để nắm bắt sự kiện KeyPress.

194
Cory Engebretson

Để 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 hiện tại về cơ bản chỉ chọn cho người dùng. Bạn có thể làm điều này trong trình thiết kế Visual Studio hoặc trong C # như thế này:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

Liên kết đến tài liệu cho thuộc tính ComboBox DropDownStyle trên MSDN.

359
Cory Engebretson

Để thêm một tham chiếu GUI của Visual Studio, bạn có thể tìm thấy các tùy chọn DropDownStyle trong Thuộc tính của ComboBox đã chọn:

enter image description here

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

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
61
invertigo

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

30
LZara

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

2
Abhishek Jaiswal

Để tiếp tục hiển thị dữ liệu trong đầu vào sau khi chọn, hãy 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;
}
1
Diogo Rodrigues