void AddClick(object sender, EventArgs e) { switch (Selected) { case Page.Gen: break; case Page.Cats: CurrentCat.Add(new Category("New Category", true)); break; case Page.Exts: if (ExtensionList.SelectedNode != null) { Category Cat; if (ExtensionList.SelectedNode.Level == 0) { Cat = CurrentCat.First(x => x.Name == ExtensionList.SelectedNode.Text); } else { Cat = CurrentCat.First(x => x.Name == ExtensionList.SelectedNode.Parent.Text); } if (Cat != null) { Cat.Extensions.Add(new Extension(Cat, "New Extension")); } } break; } UpdateAll(); }