Câu trả lời:
Sử dụng thuộc tính ComboStyle:
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
Đây là một phương pháp khác tôi sử dụng vì thay đổi DropDownSyle
để DropDownList
làm cho nó trông 3D và đôi khi nó chỉ đơn giản là xấu xí.
Bạn có thể ngăn người dùng nhập bằng cách xử lý KeyPress
sự kiện của ComboBox như thế này.
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste
. Tôi không biết làm thế nào ngay bây giờ.
Paste
bạn sẽ phải tạo menu ngữ cảnh trống giả và gán nó cho ComboBox.
Yow có thể thay đổi DropDownStyle trong thuộc tính thành DropDownList. Điều này sẽ không hiển thị TextBox cho bộ lọc.
(Ảnh chụp màn hình được cung cấp bởi FUSION CHA0S .)
Tôi đã thử ComboBox1_KeyPress nhưng nó cho phép xóa ký tự và bạn cũng có thể sử dụng lệnh sao chép dán. DropDownStyle của tôi được đặt thành DropDownList nhưng vẫn không sử dụng. Vì vậy, tôi đã làm dưới đây bước để tránh chỉnh sửa văn bản combobox.
Dưới đây mã xử lý xóa & phím xóa lùi. Và cũng vô hiệu hóa kết hợp với khóa điều khiển (ví dụ: ctr + C hoặc ctr + X)
Private Sub CmbxInType_KeyDown(sender As Object, e As KeyEventArgs) Handles CmbxInType.KeyDown
If e.KeyCode = Keys.Delete Or e.KeyCode = Keys.Back Then
e.SuppressKeyPress = True
End If
If Not (e.Control AndAlso e.KeyCode = Keys.C) Then
e.SuppressKeyPress = True
End If
End Sub
Trong tải hình thức sử dụng dòng dưới đây để vô hiệu hóa nhấp chuột phải vào điều khiển combobox để tránh cắt / dán thông qua nhấp chuột.
CmbxInType.ContextMenu = new ContextMenu()