【发布时间】:2014-05-25 21:46:17
【问题描述】:
有什么方法可以检测到应用程序设置更改? 如果有一种在保存之前检测设置更改的好方法,请帮助我,我想获取所有设置更改并通知用户有未保存的更改。我是手动完成的,但我想知道是否有好的方法。谢谢。
【问题讨论】:
-
设置是什么意思?例如,如果用户更改了窗口大小,您想在下次启动应用程序时恢复它?
-
@Didier 不,我的意思是 .Net 提供的设置类。
有什么方法可以检测到应用程序设置更改? 如果有一种在保存之前检测设置更改的好方法,请帮助我,我想获取所有设置更改并通知用户有未保存的更改。我是手动完成的,但我想知道是否有好的方法。谢谢。
【问题讨论】:
如果您需要在更改发生之前知道,您可以使用SettingChanging 事件:
Properties.Settings.Default.SettingChanging += SettingChanging;
void SettingChanging(object sender, System.Configuration.SettingChangingEventArgs e)
{
// Do something
}
您还可以通过检查 e.NewValue 来获取新值。
否则使用PropertyChanged:
Properties.Settings.Default.PropertyChanged += SettingChanged;
void SettingChanged(object sender, PropertyChangedEventArgs e)
{
// Do something
}
【讨论】: