Jawaban:
Gunakan properti ComboStyle:
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
Ini adalah metode lain yang saya gunakan karena mengubah DropDownSyle
agar DropDownList
terlihat 3D dan kadang-kadang hanya jelek.
Anda dapat mencegah input pengguna dengan menangani KeyPress
acara ComboBox seperti ini.
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste
juga. Saya tidak tahu bagaimana sekarang.
Paste
Anda harus membuat menu konteks kosong palsu dan menetapkannya ke ComboBox.
Yow dapat mengubah properti DropDownStyle menjadi DropDownList. Ini tidak akan menampilkan TextBox untuk filter.
(Cuplikan layar disediakan oleh FUSION CHA0S .)
Saya mencoba ComboBox1_KeyPress tetapi memungkinkan untuk menghapus karakter & Anda juga dapat menggunakan perintah copy paste. DropDownStyle saya diatur ke DropDownList tetapi masih tidak digunakan. Jadi saya lakukan di bawah ini langkah untuk menghindari pengeditan teks combobox.
Kode di bawah ini menangani tombol delete & backspace. Dan juga menonaktifkan kombinasi dengan tombol kontrol (mis. Ctr + C atau 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
Dalam bentuk beban gunakan baris di bawah ini untuk menonaktifkan klik kanan pada kontrol combobox untuk menghindari cut / paste melalui klik mouse.
CmbxInType.ContextMenu = new ContextMenu()