Перейти к содержимому

Как запретить писать в combobox c

  • автор:

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».

Cody Gray - on strike's user avatar

You can suppress handling of the key press by adding e.Handled = true to the control’s KeyPress event:

Cody Gray - on strike's user avatar

sherin_'s user avatar

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

Gray Pipe

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

logo© 2023 Microsoft

Запрет на ввод своего значения в Combobox

Когда пользователь выбирает элемент из списка в Combobox, он может ввести и свое значение, выглядит это так:

можно ввести что угодно

Можно ли запретить пользователю вводить что-то свое, чтобы он вибирал только доступные варианты?

Спасибо юзеру tym32167 !

Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# winforms или задайте свой вопрос.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.9.17.40233

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как предотвратить ввод вручную в 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 задайте свой вопрос.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *