⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tempview.cs

📁 通过数据库结构自动 生成三层结构代码,相当不错的一款软件
💻 CS
📖 第 1 页 / 共 2 页
字号:
                string str3 = row["FilePath"].ToString();
                string str4 = row["NodeType"].ToString();
                TempNode node2 = new TempNode(nodeName);
                node2.NodeID = s;
                node2.NodeType = str4;
                node2.FilePath = str3;
                if (str4 == "folder")
                {
                    node2.ImageIndex = 0;
                    node2.SelectedImageIndex = 1;
                }
                else
                {
                    node2.ImageIndex = 2;
                    node2.SelectedImageIndex = 2;
                }
                node.Nodes.Add(node2);
                int parentid = int.Parse(s);
                this.CreateNode(parentid, node2, dt);
            }
        }

        private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
        {
            if (e.Label != null)
            {
                if (e.Label.Length > 0)
                {
                    if (e.Label.IndexOfAny(new char[] { '@', '.', ',', '!' }) == -1)
                    {
                        e.Node.EndEdit(false);
                        TempNode node = (TempNode) e.Node;
                        string nodeID = node.NodeID;
                        string nodeType = node.NodeType;
                        string label = e.Label;
                        string filePath = node.FilePath;
                        string destFileName = filePath;
                        if (nodeType == "file")
                        {
                            int num = filePath.LastIndexOf(@"\");
                            destFileName = filePath.Substring(0, (filePath.Length - num) - 1) + label + ".cmt";
                            File.Move(filePath, destFileName);
                        }
                        foreach (DataRow row in this.ds.Tables[0].Select("NodeID='" + nodeID + "'"))
                        {
                            row["Text"] = label;
                            row["FilePath"] = destFileName;
                        }
                        this.ds.Tables[0].AcceptChanges();
                        this.ds.WriteXml(this.tempfilepath);
                    }
                    else
                    {
                        e.CancelEdit = true;
                        MessageBox.Show("无效节点或无效字符: '@','.', ',', '!'", "节点编辑");
                        e.Node.BeginEdit();
                    }
                }
                else
                {
                    e.CancelEdit = true;
                    MessageBox.Show("无效节点或节点名称不能为空!", "节点编辑");
                    e.Node.BeginEdit();
                }
                this.treeView1.LabelEdit = false;
            }
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
        }

        private void treeView1_DragDrop(object sender, DragEventArgs e)
        {
        }

        private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
        {
        }

        private void treeView1_MouseUp(object sender, MouseEventArgs e)
        {
            try
            {
                Point pt = new Point(e.X, e.Y);
                this.TreeClickNode = (TempNode) this.treeView1.GetNodeAt(pt);
                this.treeView1.SelectedNode = this.TreeClickNode;
                if ((this.TreeClickNode != null) && (e.Button == MouseButtons.Right))
                {
                    this.CreatMenu(this.TreeClickNode.NodeType);
                    this.contextMenuStrip1.Show(this.treeView1, pt);
                }
            }
            catch
            {
            }
        }

        private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                TempNode selectedNode = (TempNode) this.treeView1.SelectedNode;
                string text = selectedNode.Text;
                string filePath = selectedNode.FilePath;
                if (filePath.Trim() != "")
                {
                    CodeTemplate template = (CodeTemplate) Application.OpenForms["CodeTemplate"];
                    if (template != null)
                    {
                        template.SettxtTemplate(filePath);
                    }
                    else
                    {
                        MessageBox.Show("尚未打开模版代码生成编辑器!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                }
                else
                {
                    MessageBox.Show("所选文件已经不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }

        private void 模版ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                TempNode selectedNode = (TempNode) this.treeView1.SelectedNode;
                string nodeID = selectedNode.NodeID;
                int num = 1;
                if (selectedNode != null)
                {
                    num = selectedNode.Nodes.Count + 1;
                }
                string maxNodeID = this.GetMaxNodeID(this.ds.Tables[0]);
                DataRow row = this.ds.Tables[0].NewRow();
                row["NodeID"] = maxNodeID;
                row["Text"] = "新建模版";
                string path = "新建模版.cmt";
                if ((this.settings.TemplateFolder != null) && (this.settings.TemplateFolder != ""))
                {
                    path = this.settings.TemplateFolder + @"\" + path;
                }
                else
                {
                    path = @"Template\新建模版.cmt";
                }
                row["FilePath"] = path;
                row["NodeType"] = "file";
                row["ParentID"] = nodeID;
                row["OrderID"] = num;
                this.ds.Tables[0].Rows.Add(row);
                this.ds.Tables[0].AcceptChanges();
                this.ds.WriteXml(this.tempfilepath);
                File.Create(path);
                TempNode node = new TempNode("新建模版");
                node.NodeID = maxNodeID;
                node.ParentID = nodeID;
                node.FilePath = path;
                node.NodeType = "file";
                node.ImageIndex = 2;
                node.SelectedImageIndex = 2;
                selectedNode.Nodes.Add(node);
                selectedNode.Expand();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }

        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                TempNode selectedNode = (TempNode) this.treeView1.SelectedNode;
                string nodeID = selectedNode.NodeID;
                string text = selectedNode.Text;
                string filePath = selectedNode.FilePath;
                string nodeType = selectedNode.NodeType;
                foreach (DataRow row in this.ds.Tables[0].Select("NodeID='" + nodeID + "'"))
                {
                    this.ds.Tables[0].Rows.Remove(row);
                }
                this.ds.Tables[0].AcceptChanges();
                this.ds.WriteXml(this.tempfilepath);
                if ((nodeType == "file") && File.Exists(filePath))
                {
                    File.Delete(filePath);
                }
                this.treeView1.Nodes.Remove(selectedNode);
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }

        private void 刷新ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.LoadTreeview();
        }

        private void 文件夹ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                TempNode selectedNode = (TempNode) this.treeView1.SelectedNode;
                string nodeID = selectedNode.NodeID;
                int num = 1;
                if (selectedNode != null)
                {
                    num = selectedNode.Nodes.Count + 1;
                }
                string text = selectedNode.Text;
                string filePath = selectedNode.FilePath;
                string nodeType = selectedNode.NodeType;
                string maxNodeID = this.GetMaxNodeID(this.ds.Tables[0]);
                DataRow row = this.ds.Tables[0].NewRow();
                row["NodeID"] = maxNodeID;
                row["Text"] = "新建文件夹";
                row["FilePath"] = "";
                row["NodeType"] = "folder";
                row["ParentID"] = nodeID;
                row["OrderID"] = num;
                this.ds.Tables[0].Rows.Add(row);
                this.ds.Tables[0].AcceptChanges();
                this.ds.WriteXml(this.tempfilepath);
                TempNode node = new TempNode("新建文件夹");
                node.NodeID = maxNodeID;
                node.ParentID = nodeID;
                node.NodeType = "folder";
                node.ImageIndex = 0;
                node.SelectedImageIndex = 1;
                selectedNode.Nodes.Add(node);
                selectedNode.Expand();
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }

        private void 重命名ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                TempNode selectedNode = (TempNode) this.treeView1.SelectedNode;
                if ((selectedNode != null) && (selectedNode.Parent != null))
                {
                    this.treeView1.SelectedNode = selectedNode;
                    this.treeView1.LabelEdit = true;
                    if (!selectedNode.IsEditing)
                    {
                        selectedNode.BeginEdit();
                    }
                }
                else
                {
                    MessageBox.Show("没有选择节点或该节点是根节点.\n", "无效选择");
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -