2015-11-07 3 views
0

Я пытаюсь найти простой способ загрузить настройки (у меня их много). Я пытаюсь сделать имя параметра таким же, как имя элемента управления, чтобы я мог прокручивать список и сопоставлять настройки с правильными элементами управления. Что-то вроде textBoxData.Data1 = MyProject.Settings.Default.Data1; работает совершенно нормально.Пользовательские настройки C# не загружаются при использовании настроек.Default.Properties

Я пытаюсь использовать коллекцию свойств, но это дает мне только значения времени по умолчанию для дизайна, а не значения, сохраненные в файле user.config (его сохранение правильно).

 Dictionary<String, String> settings_dictionary = new Dictionary<String, String>(); 
     foreach (SettingsProperty property in MyProject.Settings.Default.Properties) 
     { 

      try 
      { 
       String name = Convert.ToString(property.Name); 
       String value = Convert.ToString(property.DefaultValue); 
       settings_dictionary.Add(name, value); 
       Debug.WriteLine("Loading from settings: {0} - {1}", name, value); 
      } 
      catch 
      { 
       MessageBox.Show(ex.Message.ToString()); 
      } 
     } 

Должно быть, что-то мне не хватает, чего я не смог найти. Также с радостью перейдем к лучшему методу!

ответ

0

Вы должны использовать Settings.Default.PropertyValues не Settings.Default.Properties

foreach (SettingsPropertyValue property in Lab.Properties.Settings.Default.PropertyValues) 
{ 

    try 
    { 
     String name = Convert.ToString(property.Name); 
     String value = Convert.ToString(property.PropertyValue); 
     Console.WriteLine("{0}:{1}", name, value); 
     Debug.WriteLine("Loading from settings: {0} - {1}", name, value); 
    } 
    catch(Exception ex) 
    { 
     Console.WriteLine(ex.Message.ToString()); 
    } 
} 
+0

так что это было что-то простое, что я пропустил, спасибо! отлично работает с настройками customprovider – guoda31

Смежные вопросы