Відповіді:
Використовуйте властивість ComboStyle:
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
Це ще один метод я використовую , тому що зміни DropDownSyleв DropDownListвін виглядає 3D , а іноді його просто потворною.
Ви можете запобігти введенню користувача, обробляючи KeyPressподію ComboBox таким чином.
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste. Я не маю уявлення, як зараз.
Pasteвам доведеться створити підроблене порожнє контекстне меню та призначити його ComboBox.
Yow може змінити властивості DropDownStyle на DropDownList. Це не відобразить TextBox для фільтра.

(Знімок екрана наданий FUSION CHA0S .)
Я спробував ComboBox1_KeyPress, але він дозволяє видалити символ і ви також можете скористатися командою копіювання вставити. Мій DropDownStyle встановлений на DropDownList, але все ще не використовується. Тому я зробив крок нижче, щоб уникнути редагування тексту у комбобоксі.
Нижче код обробляє клавішу видалення та повернення назад. А також вимикає комбінацію з керуючим ключем (наприклад, ctr + 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Під час завантаження форми використовуйте нижче рядка, щоб відключити клацання правою кнопкою миші на панелі управління, щоб уникнути вирізання / вставки за допомогою клацання миші.
CmbxInType.ContextMenu = new ContextMenu()