📄 tempview.cs
字号:
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 + -