Inheritance: Queue.UI.WinForms.DependencyForm
        private void editGroupMenuItem_Click(object sender, EventArgs e)
        {
            var selectedNode = treeView.SelectedNode;
            if (selectedNode != null)
            {
                var group = selectedNode.Tag as LifeSituationGroup;
                using (var f = new EditLifeSituationGroupForm(null, group.Id))
                {
                    f.Saved += (s, eventArgs) =>
                    {
                        selectedNode.Text = f.Group.ToString();
                        f.Close();
                    };

                    f.ShowDialog();
                }
            }
        }
        private void addGroupMenuItem_Click(object sender, EventArgs e)
        {
            Guid? parentGroupId = null;

            var selectedNode = treeView.SelectedNode;
            if (selectedNode != null)
            {
                parentGroupId = (selectedNode.Tag as LifeSituationGroup).Id;
            }

            using (var f = new EditLifeSituationGroupForm(parentGroupId))
            {
                TreeNode treeNode = null;

                f.Saved += (s, eventArgs) =>
                {
                    if (treeNode == null)
                    {
                        treeNode = new TreeNode();
                        treeNode.Tag = f.Group;
                        treeNode.Checked = f.Group.IsActive;

                        if (selectedNode != null)
                        {
                            selectedNode.Nodes.Add(treeNode);
                            selectedNode.Expand();
                        }
                        else
                        {
                            treeView.Nodes.Add(treeNode);
                        }

                        treeView.SelectedNode = treeNode;
                    }

                    treeNode.Text = f.Group.ToString();
                    f.Close();
                };

                f.ShowDialog();
            }
        }