Я использую эту строку для создания коллекции чисел для моего ComboBox.Установить минимальный номер в ComboBox
Main.ComboBox.Items.AddRange(Enumerable.Range(1, maxNum).Select(Function(s) s.ToString()).ToArray())
Мне было интересно, как я мог бы установить для него минимум? Например, 6-100, а не по умолчанию 1-100.
Update:
Я использую numberSetting со значением 0 в закладке Свойства проекта настройки.
numberSetting получает свою фактическую стоимость от:
My.Settings.numberSetting = CInt(ComboBox.Text)
После numberSetting имеет свою ценность, я использую его с MAXNUM установить максимальное количество опций в ComboBox:
Dim maxNum = My.Settings.numberSetting
Dim winners = Enumerable.Range(1, maxNum).OrderBy(Function(r) rand.Next()).Take(5).ToArray()
Это позволяет я получаю 100 флажков, если я выберу 100 как мой вариант из ComboBox. То, что я хочу сделать, - это установить минимальный вариант на 6, так что 1, 2, 3, 4 и 5 не являются параметрами в ComboBox.
РЕШИТЬ:
Private Sub Options_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim maxNum = My.Settings.numberSetting2
NumberCombo.Items.AddRange(Enumerable.Range(6, maxNum - 5).Select(Function(s) s.ToString()).ToArray())
End Sub
Где My.Settings.numberSetting2 имеет значение по умолчанию 100.
Хм, мне не повезло с этим. У меня все еще было 1-100 в раскрывающемся списке, и это делало мои флажки начинающимися с 6 до 100, а не только с шестью галочками. Также у меня есть maxNum, установленный как my.settings.numberSetting со значением 0, чтобы помочь восстановить настройки при следующем запуске программы. Надеюсь, это имеет смысл. – RockGuitarist1
@ RockGuitarist1 emm, довольно трудно представить. Возможно, вы могли бы помочь, обновив вопрос? Похоже, что это вывод исходной проблемы, так как 'Enumerable.Range' сам по себе должен быть в состоянии предоставить вам диапазон значений, который вы хотите. – Ian
Обновленный мой вопрос выше с более подробной информацией. – RockGuitarist1