Exemple #1
0
        /// <summary>
        /// 添加节点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void 添加节点ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode selectNode = TreeView_Main.SelectedNode;

            if (selectNode != null)
            {
                Stack <TreeNode>  treeNodeStack      = new Stack <TreeNode>();
                Action <TreeNode> selectParentAction = null;
                selectParentAction = (thisNode) =>
                {
                    treeNodeStack.Push(thisNode);
                    if (thisNode.Parent != null)
                    {
                        selectParentAction(thisNode.Parent);
                    }
                };
                selectParentAction(selectNode);
                if (treeNodeStack.Count >= 2)
                {
                    TreeNode          synthesisTypeNode = treeNodeStack.Pop();
                    TreeNode          synthesisItemNode = treeNodeStack.Pop();
                    EnumSynthesisType synthesisType     = (EnumSynthesisType)Enum.Parse(typeof(EnumSynthesisType), synthesisTypeNode.Tag.ToString());
                    EnumSynthesisItem synthesisItem     = (EnumSynthesisItem)Enum.Parse(typeof(EnumSynthesisItem), synthesisItemNode.Tag.ToString());
                    int id = startID++;
                    SynthesisDataStruct synthesisDataStruct = new SynthesisDataStruct();
                    synthesisDataStruct.id            = id;
                    synthesisDataStruct.name          = "";
                    synthesisDataStruct.time          = 1;
                    synthesisDataStruct.synthesisType = synthesisType;
                    synthesisDataStruct.synthesisItem = synthesisItem;
                    synthesisDataStruct.inputStruct   = new SynthesisDataStruct.SynthesisItemStruct[0];
                    synthesisDataAnalysis.AddSynthesisDataStruct(synthesisDataStruct);
                    TreeNode treeNode = new TreeNode();
                    treeNode.Name = id.ToString();
                    treeNode.Tag  = synthesisDataStruct;
                    treeNode.Text = synthesisDataStruct.ToStringSimple();
                    synthesisItemNode.Nodes.Add(treeNode);
                }
            }
        }