Сведения о вопросе

NOTtoday

21:06, 1st October, 2020

Теги

winforms   combobox    

Множественный выбор на WinForms

Просмотров: 619   Ответов: 5

Каков наилучший способ реализации варианта множественного выбора в формах Windows? Я хочу применить один выбор из списка, начиная со значения по умолчанию.

Похоже, что ComboBox будет хорошим выбором, но есть ли способ указать непустое значение по умолчанию?
Я мог бы просто установить его в коде в какой-то соответствующей точке инициализации, но я чувствую, что чего-то не хватает.



  Сведения об ответе

PROGA

03:27, 3rd August, 2020

Если вы хотите получить только один ответ из группы, то вам лучше всего подойдет элемент управления RadioButton, или вы можете использовать ComboBox, если у вас будет много вариантов. Чтобы установить значение по умолчанию, просто добавьте элемент в коллекцию ComboBox и установите SelectedIndex или SelectedItem для этого элемента.

В зависимости от того, сколько вариантов вы рассматриваете, вы можете использовать ListBox со свойством SelectionMode, установленным в MultiSimple, если это будет множественный выбор, или вы можете использовать элемент управления CheckBox.


  Сведения об ответе

VCe znayu

13:48, 29th August, 2020

Вы должны быть в состоянии просто установить свойство ComboBox.SelectedIndex с тем, что вы хотите, чтобы значение по умолчанию было.

http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindex.aspx


  Сведения об ответе

repe

14:35, 22nd August, 2020

Используйте свойство ComboBox.SelectedItem или SelectedIndex после вставки элементов, чтобы выбрать элемент по умолчанию.

Вы также можете рассмотреть возможность использования элемента управления RadioButton для принудительного выбора одного параметра.


  Сведения об ответе

piter

14:08, 21st August, 2020

Вы можете использовать ComboBox со свойством DropDownStyle , установленным в DropDownList и SelectedIndex в 0 (или каков бы ни был элемент по умолчанию). Это заставит всегда иметь выбранный элемент из списка. Если вы забудете это сделать, пользователь может просто ввести что - то еще в поле редактирования, что будет плохо :)


  Сведения об ответе

$DOLLAR

09:23, 23rd August, 2020

Если вы даете пользователю небольшой список вариантов, то придерживайтесь переключателей. Тем не менее, если вы хотите использовать поле со списком для динамических или длинных списков. Установите стиль на DropDownList.

private sub populateList( items as List(of UserChoices))
   dim choices as UserChoices
   dim defaultChoice as UserChoices 

   for each choice in items
      cboList.items.add(choice)
      '-- you could do user specific check or base it on some other 
      '---- setting to find the default choice here
      if choice.state = _user.State or choice.state = _settings.defaultState then 
          defaultChoice = choice
      end if 
   next 
   '-- you chould select the first one
   if cboList.items.count > 0 then
      cboList.SelectedItem = cboList.item(0)
   end if 

   '-- continuation of hte default choice
   cboList.SelectedItem = defaultChoice

end sub


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться