Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 131
.NET 4.x

Заполнение Combobox через DataSource

08.03.2018, 20:58. Показов 2615. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу запомнить индекс combobox так, чтобы пользователю при следующем сеансе работы не пришлось заново выбирать значение. Но у меня не получается это сделать...

Заполняю combobox:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Sub СтратумСервер()
        Try
            Dim comboSource1 As New Dictionary(Of String, String)()
            comboSource1.Add("Европа-1", "miner --server zec-eu1.nanopool.org")
            comboSource1.Add("Европа-2", "miner --server zec-eu2.nanopool.org")
            comboSource1.Add("США Восток", "miner --server zec-us-east1.nanopool.org")
            comboSource1.Add("США Запад", "miner --server zec-us-west1.nanopool.org")
            comboSource1.Add("Азия", "miner --server zec-asia1.nanopool.org")
            comboSource1.Add("Япония", "miner --server zec-jp1.nanopool.org")
            comboSource1.Add("Австралия", "miner --server zec-au1.nanopool.org")
            Form1.Tab51.TabSettings21.ComboBox1.DataSource = New BindingSource(comboSource1, Nothing)
            Form1.Tab51.TabSettings21.ComboBox1.DisplayMember = "key"
            Form1.Tab51.TabSettings21.ComboBox1.ValueMember = "value"
            Form1.Tab51.TabSettings21.ComboBox1.SelectedIndex = My.Settings.ServerAdressSettings 'Переменная для выбора нужной строки
        Catch : End Try
    End Sub
запоминаем индекс выбранной строки при событии indexchanged:
VB.NET
1
2
3
4
5
    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
        My.Settings.ServerAdressSettings = Form1.Tab51.TabSettings21.ComboBox1.SelectedIndex
        MsgBox(My.Settings.ServerAdressSettings) 'Сообщение для проверки запоминания индекса в переменную [B]ServerAdressSettings[/B]
 
    End Sub
но при новом запуске программы переменная ServerAdressSettings равна 0
я так понимаю, что это происходит из-за заполнения combobox при загрузке программы и загрузки данных в combobox где автоматически происходит событие indexchanged и перезаписывается в переменную со значением 0.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.03.2018, 20:58
Ответы с готовыми решениями:

Заполнение DataGridView.DataSource в отдельном потоке
Добрый день! Данная тема не столь прям не дает жизни мне, но ответ я бы хотел получить. Имеем гифку типа loading, имеем DGV,...

Combobox.datasource, несоответствие Id и значения при использовании displaymember, valuemember
Проблема следующего характера: вытягиваю из базы данных поля ID и Color посредством SqlDataAdaptet и DataSet, задаю Displaymember - поле...

Заполнение textbox несколькими значениями из combobox через ","
Каким образом сделать заполнение textbox несколькими значениями из combobox , то есть при следуюшем выборе значения из combobox оно...

5
 Аватар для Nachrichter
649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
09.03.2018, 13:11
Цитата Сообщение от AMG38 Посмотреть сообщение
я так понимаю, что это происходит из-за заполнения combobox при загрузке программы и загрузки данных в combobox где автоматически происходит событие indexchanged и перезаписывается в переменную со значением 0.
Так и есть. Проверяйте значение переменной после заполнения ComboBox и, если оное не равно 0, присваивайте значение.
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
09.03.2018, 13:38
Лучший ответ Сообщение было отмечено AMG38 как решение

Решение

Используйте событие ComboBox1.SelectionChangeCommitted вместо ComboBox1.SelectedIndexChanged
SelectionChangeCommitted выполняется только если выбор произведен пользователем
2
 Аватар для l34ddx
69 / 66 / 23
Регистрация: 23.07.2014
Сообщений: 121
09.03.2018, 14:02
То что вы присвоили
VB.NET
1
My.Settings.ServerAdressSettings = Form1.Tab51.TabSettings21.ComboBox1.SelectedIndex
это замечательно , но эту настройку нужно сохранить
не заметил в вашем коде
VB.NET
1
My.Settings.Save()
0
 Аватар для XIST
1961 / 1071 / 148
Регистрация: 01.10.2009
Сообщений: 3,608
Записей в блоге: 1
09.03.2018, 14:06
l34ddx, в настройках проекта можно указать сохранение при выходе, оно вроде и по умолчанию включено
0
0 / 0 / 0
Регистрация: 29.08.2016
Сообщений: 131
10.03.2018, 05:55  [ТС]
SelectionChangeCommitted выполняется только если выбор произведен пользователем
Да, уже разобрался, но все равно спасибо!

Добавлено через 24 минуты
Цитата Сообщение от l34ddx Посмотреть сообщение
То что вы присвоили
VB.NET
1
My.Settings.ServerAdressSettings = Form1.Tab51.TabSettings21.ComboBox1.SelectedIndex
это замечательно , но эту настройку нужно сохранить
не заметил в вашем коде
VB.NET
1
My.Settings.Save()
Сохранение настроек автоматически включено в каждом новом проекте.
Ну и на всякий случай при закрытии формы у меня происходит сохранение параметров.
Ошибка была в неподходящем событии indexchanged...
Правильное событие ComboBox1_SelectionChangeCommitted
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2018, 05:55
Помогаю со студенческими работами здесь

Заполнение ComboBox из БД в зависимости от выбранного значения в другом ComboBox
Т.к. я не профессионал, прошу сразу не закидывать палками )) Проблема следующая, грубо говоря на форме преславутые зависимые ComboBox,...

Через какие интерфейсы сделать свой DataSource?
Люди подскажите через какие интерфейсы (IList, IBindingList и куча других) сделать свой сточник данных, который будет состоять из...

Изменить цвет строк DataGridView при заполнении через DataSource
Добрый день. На форме размещен DataGridView, который заполняется через привязку данных из DataSet посредством BindingSource. Мне...

Заполнение ComboBox
Подскажите пожалуйста как в цикле заполнить ComboBox буквами русского алфавита от А до Я?

Заполнение ComboBox из БД
Подскажите код для vb! У меня есть база данных mdb (Access) там находятся две таблицы с заполненными полями. Как мне на форме в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru