我正在尝试使用内置的.NET应用程序设置。例如,我有一个名为year的用户设置。
如果最终用户在程序中更改设置,则需要通过刷新显示的数据来响应。
我目前拥有以下代码来完成此操作:
Settings.Default.PropertyChanged += SettingsChanged;
//on year change clear out the grid and update the data
private void SettingsChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == "year")
{
grdStudentCourseSearch.DataSource = null;
grdStudentCourseSearch.DataMember = null;
UpdateData();
}
}
您可以看到似乎只有一个事件处理程序用于所有设置,而我必须使用 e.PropertyName 来比较字符串以查看哪个属性已更改。有更好的方法吗?如果稍后更改属性名称,则可能会忘记此操作。