Автоматическое сохранение настроек при выходе C#
In VB.NET существует опция "автоматическое сохранение настроек при выходе" есть ли эквивалентная опция в C# или нужно написать следующий код?"
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.Save();
}
4 ответов
вместо этого вы можете использовать ApplicationExit.
Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
void Application_ApplicationExit(object sender, EventArgs e)
{
Settings.Default.Save();
}
кроме того, вы также можете сэкономить на каждой смене:
Settings.Default.PropertyChanged += new PropertyChangedEventHandler(Default_PropertyChanged);
void Default_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
Settings.Default.Save();
}
предупреждение: Если вы используете второй подход, пожалуйста, рассмотрите комментарии @Hans Passant
вы можете сделать это таким образом, тоже. Если вы используете Windows Forms, откройте вкладку события на панели Свойства в режиме конструктора для формы,которую вы хотите использовать, и прокрутите вниз, пока не увидите событие закрытия, а затем дважды щелкните его.
далее, просто добавьте код, показанный ниже.
private void Form1_Closing(object sender, EventArgs e)
{
Properties.Settings.Default.Save();
}
Да, это оно. Я предпочитаю обрабатывать сохранение, сброс, перезагрузку на уровне формы, потому что настройки совместно используются в приложении. Зовущий.Reset () на FormCancel делает правильную вещь для пользователя, а также вызывает .Сохранить() при закрытии формы. Если приложение аварийно завершает работу после этого момента, настройки сохраняются. Я думаю, что экономия на AppStart / Exit не делает правильную вещь для пользователя в нужное время.
Settings.Default.Save();
другие интересные методы:
.Upgrade();
.Reset();
.Reload();