2010-11-17 2 views
3

Я пытаюсь сделать что-то, что, по моему мнению, было бы относительно простым в WinForms, но это не так.Проблемы с источником данных и приложениями ComboBox

Вот что я хочу сделать:

Имейте значение выпадающих COMBOBOX в заселенном из массива. Например:

Dim versions As String() = New String() {"3", "4"} 
cmbVersion.DataSource = versions 

Простой, без проблем. Но у меня возникают проблемы, так это то, что у меня есть тот же самый combobox, связанный с user.settings (строковое значение), называемый MyVersion. Значение в настоящее время составляет «4».

Когда я загружаю свою форму, я ожидаю, что выпадающий список будет «3» и «4», и отображаемый текст будет тем, что находится в MyVersion. Это не работает. Значение всегда «3», и изменение его в «4» в поле со списком не влияет на MyVersion.

Что я здесь делаю неправильно?

+0

Можете ли вы определить, как вы определили связывание между настройками и списком. Вы сделали это в коде? (если да, можете ли вы показать нам?) Или вы сделали это в дизайнере? –

ответ

1

Прежде всего, я думаю, вы должны понимать, что значение, которое поступает из My.Settings.MyVersion, не является тем, что вы определяете в своих свойствах/настройках проекта. Это всего лишь стандартные (по умолчанию) значения. Фактическое значение происходит из файла user.config. Файл user.config создается автоматически во время выполнения при первом запуске приложения новым пользователем, а значение, отличное от значения по умолчанию, записывается в настройку с пользовательским охватом. Место это что-то вроде:

C: \ Documents и Settings \ [имя пользователя] \ Local Settings \ Application Data \ [НазваниеКомпании] [appdomainname] [Ид] [хеш] \ [verison]

Хотя это может отличаться для ОС.

Во-вторых, установка не становится сохранялось, пока вы не скажете ему, позвонив по телефону:

My.Settings.Save() 

Я надеюсь, что это проясняет вещи немного.

Вы можете связать значение, установив свойство SelectedItem, либо в конструкторе или позвонив по телефону:

cmbVersion.SelectedItem = My.Settings.Myversion 
Смежные вопросы