我正嘗試使用內置的.NET應用程序設置。因此,例如我有一個年份的用戶設置。.NET用戶設置事件處理程序
如果最終用戶更改了程序中的設置,我需要通過刷新顯示的數據進行響應。
目前,我有這樣的代碼如下做到這一點:
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比較字符串查看哪個屬性發生了變化。有一個更好的方法嗎?如果我稍後更改屬性名稱,可能會被忘記。