private void btnOK_Click(object sender, EventArgs e) { if (m_CurrentPanel != null) { if (m_CurrentPanel.ValidateSettings()) { foreach (SettingsPanel panel in m_PropertyPages.Values) { if (panel.ValidateSettings()) panel.SaveSettings(); else { m_CurrentPanel = panel; LoadPropertyPage(m_CurrentPanel); return; } } } else return; } Settings.Default.Save(); foreach (SettingsPanel panel in m_PropertyPages.Values) { panel.OnPostSaveSettings(); } DialogResult = DialogResult.OK; Close(); }
private void tvSettings_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node != null) { int propPageId = int.Parse((string)e.Node.Tag); if (m_CurrentPropertyPageId != propPageId) { SettingsPanel propPage = null; if (m_PropertyPages.TryGetValue(propPageId, out propPage)) { LoadPropertyPage(propPage); m_CurrentPanel = propPage; m_CurrentPropertyPageId = propPageId; SetFormTitle(e.Node); } } if (e.Node.Nodes.Count > 0) e.Node.Expand(); } }