public ConfigForm(Config config) { InitializeComponent(); this.config = config; mainconfig = new MainConfig(config); createPanel("MainNode", mainconfig); editorconfig = new EditorConfig(config); createPanel("EditorNode", editorconfig); ConfigTreeView.NodeMouseClick += (sender, e) => { if (configpanels.ContainsKey(e.Node.Name)) { var cp = configpanels[e.Node.Name]; cp.BringToFront(); } }; this.OKButton.Click += (s, e) => { editorconfig.Accept(); DialogResult = DialogResult.OK; this.Close(); }; this.CancelButton.Click += (s, e) => { DialogResult = DialogResult.Cancel; this.Close(); }; }