private void MainTreeViewAfterSelect(object sender, TreeViewEventArgs e) { var selectedNode = mainTreeView.SelectedNode; shapeManager.UnfillShapes(); if (selectedNode == null | shapeNode.IsSelected) { shapeManager.FillShapes(); } else if (shapeNode.Nodes.Contains(selectedNode)) { shapeManager.FillShapes(selectedNode.Text); } else { var shape = shapeManager.GetShape(selectedNode.Parent.Text, selectedNode.Index); shapeManager.FillShape(shape); } mainPicBox.Refresh(); }