0

Я использую Visual Studio 2010, где у меня есть проект под названием Утилиты, содержащий файл settings.settings, который я хочу получить из других проектов в решении.Как правильно использовать Properties.Settings?

В другом проекте я хочу, чтобы пользователь мог управлять настройками в форме Windows с помощью PropertyGrid. Я также хочу настроить его с помощью настроек System.ComponentModel. Я попытался применить настройки ComponentModel, такие как DescriptionAttribute в файле Settings.Designer.cs, который работал, но, как говорится в комментариях файла, изменения к этому файлу при регенерации.

Так мои вопросы следующим образом:

  1. Как получить доступ к Properties.Settings из другого проекта?
  2. Как настроить PropertyGrid без изменения файла Settings.Designer.cs?
  3. Как уже упоминалось, я разрешаю пользователю управлять настройками из формы. Тем не менее, я хочу восстановить значения, когда пользователи нажимают кнопку Отмена. Как мне это сделать?

ответ

1
  1. Установите модификатор доступа в конструкторе настроек для общественности (по умолчанию является внутренним)

  2. Я бы с оберточным классом для ваших настроек (просто много атрибутов украшенных свойств с get/set, указывающие на исходные настройки). Этот код может быть автоматически сгенерирован из файла Settings.Designer.cs.

  3. Сохраните предыдущие настройки, например. через сериализацию (двоичный или xml), в переменную. Затем вы можете восстановить его, установив свойства в сохраненное значение.

+0

Я надеялся, что мне не нужно будет сохранять предыдущие настройки. В конце концов, никаких изменений не произошло, так как пользователь нажимает «Отмена». Я создам класс-оболочку, который обрабатывает это для меня. Благодарю за ваш ответ! – petsson

+0

Вы можете использовать противоположный подход, чтобы пользователь редактировал только копию, и вы присваиваете эту копию исходным настройкам только в том случае, если он отправляет с кликом OK или аналогичным. –

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