C# 公共控制元件之TreeView
阿新 • • 發佈:2018-11-10
1、初始化控制元件,新增根節點,子節點
public Form1() { InitializeComponent(); InitTreeView(); } private void InitTreeView() { TreeNode parrentNode1 = treeView1.Nodes.Add("父節點1"); parrentNode1.Nodes.Add("子節點1"); parrentNode1.Nodes.Add("子節點2"); TreeNode parrentNode2 = treeView1.Nodes.Add("父節點2"); parrentNode2.Nodes.Add("子節點1"); parrentNode2.Nodes.Add("子節點2"); }
2、新增treeview選單contextMenuStrip1,contextMenuStrip2 ,右鍵操作
private void treeView1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { Point ClickPoint = new Point(e.X, e.Y); int x = e.X; int y = e.Y; TreeNode CurrentNode = treeView1.GetNodeAt(ClickPoint); if (CurrentNode is TreeNode)//判斷你點的是不是一個節點 { treeView1.SelectedNode = CurrentNode; CurrentNode.ContextMenuStrip = this.contextMenuStrip1; contextMenuStrip1.Show(MousePosition); } else { treeView1.ContextMenuStrip = this.contextMenuStrip2; contextMenuStrip2.Show(MousePosition); } } }
3、選單操作
private void 新增子節點ToolStripMenuItem_Click(object sender, EventArgs e) { treeView1.SelectedNode.Nodes.Add("新節點"); } private void 刪除當前節點ToolStripMenuItem_Click(object sender, EventArgs e) { treeView1.SelectedNode.Remove(); } private void 新增根節點ToolStripMenuItem_Click(object sender, EventArgs e) { treeView1.Nodes.Add("父節點"); } private void 清空ToolStripMenuItem_Click(object sender, EventArgs e) { treeView1.Nodes.Clear(); } private void 重新命名ToolStripMenuItem_Click(object sender, EventArgs e) { treeView1.LabelEdit = true;//不可缺少 treeView1.SelectedNode.BeginEdit(); }
4、新增 雙擊節點,編輯重新命名
private void treeView_DoubleClick(object sender, EventArgs e)
{
treeView1.LabelEdit = true;//不可缺少
treeView1.SelectedNode.BeginEdit();
}