我有一個存儲我的應用程序設置的類。它在應用程序時被實例化。運行並保存應用程序時。關閉。如何簡化在主窗體和子窗體之間傳遞的設置值的代碼
public class Settings
{
public bool showPrivacyPageOnBlogs;
public bool showTermsPageOnBlogs;
public bool showDisclosurePageOnBlogs;
}
還有一個彈出窗口,顯示覆選框以使用彈出窗口的公共屬性設置這些值。
處理彈出窗口的代碼是這樣的:
// Horrible code ahead
private void pagesSettingsToolStripMenuItem1_Click(object sender, EventArgs e)
{
pagesSettingsForm.showPrivacyPageOnBlogs = settings.showPrivacyPageOnBlogs;
pagesSettingsForm.showTermsPageOnBlogs = settings.showTermsPageOnBlogs;
pagesSettingsForm.showDisclosurePageOnBlogs = settings.showDisclosurePageOnBlogs;
if (pagesSettingsForm.ShowDialog() == DialogResult.OK)
{
settings.showPrivacyPageOnBlogs = pagesSettingsForm.showPrivacyPageOnBlogs;
settings.showTermsPageOnBlogs = pagesSettingsForm.showTermsPageOnBlogs;
settings.showDisclosurePageOnBlogs = pagesSettingsForm.showDisclosurePageOnBlogs;
}
pagesSettingsForm.Dispose();
}
在我的應用程序。還有更多的參數以這種方式處理,所以我想知道是否有某種方法可以簡化此代碼,以便枚舉設置的名稱並允許將來添加其他參數。
有點像你建議的,我只是簡單地將設置對象的引用傳遞給窗體。當單擊確定按鈕時,表單代碼更新設置。將檢查PropertyGrid。謝謝。 – Andy