How to prevent manual input into a ComboBox in C#
I have a form in C# that uses a ComboBox . How do I prevent a user from manually inputting text in the ComboBox in C#?
I want A B C to be the only options.
5 Answers 5
Just set your combo as a DropDownList:
I believe you want to set the DropDownStyle to DropDownList.
Alternatively, you can do this from the WinForms designer by selecting the control, going to the Properties Window, and changing the «DropDownStyle» property to «DropDownList».
You can suppress handling of the key press by adding e.Handled = true to the control’s KeyPress event:
I like to keep the ability to manually insert stuff, but limit the selected items to what’s in the list. I’d add this event to the ComboBox. As long as you get the SelectedItem and not the Text, you get the correct predefined items; a, b and c.
Как предотвратить ручной ввод в ComboBox в C #
У меня есть форма в С#, которая использует ComboBox . Как запретить пользователю вводить текст вручную в ComboBox в С#?
Я хочу, чтобы A B C был единственным вариантом.
8 ответов
Просто установите комбо как DropDownList:
Я считаю, что вы хотите установить DropDownStyle в DropDownList.
Вы можете добавить e.Handled = true в событие KeyPress:
В окне свойств элемента управления сделайте DropDownStyle равным DropDownList.
Просто установите свойство DropDownStyle в DropDownList Посмотрите это изображение Пример
Зачем использовать ComboBox?
С# имеет элемент управления Listbox. Технически разница в ComboBox в Listbox заключается в том, что ComboBox может получать ввод, поэтому, если это не тот контроль, который вам нужен, я предлагаю вам использовать ListBox
Listbox Consumption guide здесь: С# ListBox
Это блокирует ручной ввод Combobox и отображает только элементы списка comboboxlist
Как предотвратить ввод вручную в ComboBox в C #
У меня есть форма на C #, в которой используется ComboBox . Как запретить пользователю вручную вводить текст в ComboBox в C #?
Я хочу, чтобы ABC были единственными вариантами.
задан 10 марта ’12, 17:03
5 ответы
Просто установите свою комбинацию как DropDownList:
ответ дан 10 мар ’12, в 17:03
Разве при этом я не могу ввести текст «Выбрать элемент» по умолчанию? — Демодав
Просто добавьте this.comboBoxType.SelectedIndex = 0; чтобы установить «по умолчанию» первым элементом в конце блока кода выше. — КейзерС
Я считаю, что вы хотите установить DropDownStyle в DropDownList.
Кроме того, вы можете сделать это из конструктора WinForms, выбрав элемент управления, перейдя в окно «Свойства» и изменив свойство «DropDownStyle» на «DropDownList».
ответ дан 16 окт ’19, 06:10
Вы можете подавить обработку нажатия клавиши, добавив e.Handled = true к событию KeyPress элемента управления:
ответ дан 16 окт ’19, 06:10

Вы все еще можете щелкнуть правой кнопкой мыши выделенный текст в поле со списком и нажать «Вырезать», вуаля, текст исчез — Аджех
Даже вы можете удалить персонажа. — Сушил Джадхав
Мне нравится сохранять возможность вставлять что-то вручную, но ограничивать выбранные элементы тем, что есть в списке. Я бы добавил это событие в ComboBox. Пока вы получаете SelectedItem, а не Text, вы получаете правильные предопределенные элементы; а, б и в.
Создан 17 июля ’18, 13:07

Зачем тогда использовать ComboBox?
В C # есть элемент управления под названием Список. Технически разница между ComboBox и Listbox заключается в том, что ComboBox может получать ввод, поэтому, если это не тот элемент управления, который вам нужен, я предлагаю вам использовать ListBox
Руководство по использованию Listbox здесь: C # ListBox
ответ дан 09 мар ’15, в 02:03

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками c# string combobox or задайте свой вопрос.
Как запретить писать в combobox c
![]()
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
hello,i have one combobox "gender field " with 2 choices (Male /Femelle)
i try to disable write writing in this field ,i need just chosse F or M
the problem is that field editable,when i excute program !!
Answers
Go to Form Designer, select the combobox, then set its “DropDownStyle” property to “DropDownList”. Can be done programmatically too.
- Proposed as answer by Ante Meridian Thursday, May 5, 2016 12:35 AM
- Marked as answer by DotNet Wang Monday, May 16, 2016 12:30 PM
You could also use in backend code to make your combobox read only. Hope this helps you. See below:
- Marked as answer by DotNet Wang Monday, May 16, 2016 12:30 PM
All replies
Go to Form Designer, select the combobox, then set its “DropDownStyle” property to “DropDownList”. Can be done programmatically too.
- Proposed as answer by Ante Meridian Thursday, May 5, 2016 12:35 AM
- Marked as answer by DotNet Wang Monday, May 16, 2016 12:30 PM
You could also use in backend code to make your combobox read only. Hope this helps you. See below:
- Marked as answer by DotNet Wang Monday, May 16, 2016 12:30 PM
Dev centers
- Windows
- Office
- Visual Studio
- Microsoft Azure
- More.
Learning resources
- Microsoft Virtual Academy
- Channel 9
- MSDN Magazine
Community
- Forums
- Blogs
- Codeplex
Support
Programs
- BizSpark (for startups)
- Microsoft Imagine (for students)
- Newsletter
- Privacy & cookies
- Terms of use
- Trademarks
© 2023 Microsoft