protected void OnDataAdded(DataFileEventArgs e)
 {
     if(null != DataAdded)
         DataAdded(this, e);
 }
        private void Datamanager_DataAdded(object sender, DataFileEventArgs e)
        {
            if(SuppressDataAdded)
                return;

            if(e.File is MenuFile)
            {
                var menu    = (MenuFile)e.File;
                var category= menu.GetStrings("category")[1];
                var node    = MenuNode.Nodes.Cast<TreeNode>().FirstOrDefault(i => i.Text == category);

                if(node == null)
                {
                    node    = MenuNode.Nodes.Add(category);
                } else
                foreach(TreeNode j in node.Nodes)
                {
                    if(((BaseFile)j.Tag).FileName == menu.FileName)
                    {
                        j.Text  = menu.Descriptions[1];
                        j.Tag   = menu;
                        break;
                    }
                }

                var node2   = node.Nodes.Add(menu.Descriptions[1]);
                node2.Tag   = menu;
            }
        }