2015-07-31 2 views
1

У меня есть кнопка, которая открывает оконный палитру цветов, а затем назначает выбранный элемент выбранному элементу в какой-либо виртуальной студии. Элемент сначала выбирается пользователем при щелчке мыши, и на основе идентификатора элемента назначается цвет. Таким образом, каждый раз, когда нажимается кнопка, изменяется цвет того же или другого элемента. Идентификатор элемента получается из делегата, который срабатывает, если щелкнуть мышью по некоторому элементу. Код для кнопки цветового набора, как это:Как сохранить пользовательские настройки программно?

private void Btn_Choose_Color_Click(object sender, RoutedEventArgs e) 
     { 

      uint id_selected = (uint)selected_element; //get id of selected element from clickintocallback 



      //open windows color dialog 
      System.Windows.Forms.ColorDialog my_dialog = new System.Windows.Forms.ColorDialog(); 
      my_dialog.ShowDialog(); 

      //get the color from windows dialog 
      int red = my_dialog.Color.R; 
      int green = my_dialog.Color.G; 
      int blue = my_dialog.Color.B; 

      //create cinector color object and pass rgb values from windows dialog 
      ByteRGBColor desired_color = new ByteRGBColor((byte)red, (byte)green, (byte)blue); //assign color statically 

      for (int i = 0; i < all_color_elements_in_loaded_studio.Count; i++) 
      { 
       uint id_current = all_color_elements_in_loaded_studio.ElementAt(0).colorElementID; //get id of current element in a loop 

       if(id_current == id_selected) //compare selected and current element 
       { 
        //all_color_elements_in_loaded_studio.ElementAt(i).colorElementColor = test_color; //set the test color 
        instance.SetStudioColorElement(id_current, desired_color); //assign the color to the element 
        break; 
       } 
      } 




      //after we choose a color 
      Btn_Pick_Element_Clicked = false; 
      Btn_Choose_Color.IsEnabled = false; 
     } 

Теперь, мой вопрос заключается в том, чтобы сохранить идентификатор элемента и его цвета после своего назначения в пользовательские настройки? Я понимаю, что могу перейти в Properties-> Settings и вручную определить здесь пользовательские настройки, но здесь это должно быть сделано как-то программно. А потом, как загрузить эти настройки?

Я был бы признателен за любую помощь?

+0

сохранить его в файл –

+1

возможно дубликат [Лучшая практика для сохранения настроек приложения в Windows Forms Application] (http://stackoverflow.com/questions/ 453161/лучшей практики к копи-прикладных настройкам-в-Windows-форм-приложи ция) – Saragis

ответ

8

Набор

Properties.Settings.Default.myColor = Color.AliceBlue; 

Получить

this.BackColor = Properties.Settings.Default.myColor; 

Сохранить

Если вы хотите, чтобы сохраняться изменения пользовательских настроек между сессиями приложения, вызовите метод Save, а показано в следующем коде:

Properties.Settings.Default.Save(); 

Reference

3

Взгляните на this article, особенно в Сохранение настроек пользователя во время выполнения разделе.

Чтобы иметь этот ответ, не просто ссылка. Вот соответствующий раздел воспроизведен:

Сохранение настроек пользователя во время выполнения

настройки области приложения только для чтения, и может быть изменен только во время разработки или изменения файла .exe.config между приложений. Однако параметры пользовательской области можно записать во время выполнения, так же, как вы изменили бы значение свойства. Новое значение сохраняется в течение всего сеанса приложения. Вы можете сохранить изменения пользовательских настроек между сеансами приложений, вызвав метод Settings.Save. Эти настройки сохраняются в файле User.config. писать и Упорство настройки пользователя во время выполнения Access настройки пользователя и присвоить ему новое значение, как показано в следующем примере:

Properties.Settings.Default.myColor = Color.AliceBlue; 

Если вы хотите, чтобы сохраняться изменения пользовательских настроек между сессиями приложений, вызова метод Save, как показано в следующем коде:

Properties.Settings.Default.Save(); 
Смежные вопросы