C# winform treeview节点重命名


方法一: 
1
int nodeIndex = 0; 2 bool nodeChanged = false; 3 4 //右键点击,就进入修改状态 5 private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) 6 { 7 if (e.Button == MouseButtons.Right) 8 { 9 e.Node.BeginEdit(); 10 } 11 } 12 13 private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) 14 { 15 nodeIndex = e.Node.Index; 16 nodeChanged = true; 17 18 e.Node.EndEdit(true ); 19 } 20 21 private void treeView1_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e) 22 { 23 if (nodeChanged == true) 24 { 25 //在这里保存数据到数据库 26 MessageBox.Show(treeView1.Nodes[nodeIndex].Text); 27 28 nodeChanged = false; 29 } 30 }

 

 
  
方法二:
MouseClick和AfterLabelEdit的使用,treeView1.LabelEdit = true;这句不可缺少:

1
public Form1() 2 { 3 InitializeComponent(); 4 this.Load+=new EventHandler(Form1_Load); 5 treeView1.MouseClick+=new MouseEventHandler(treeView1_MouseClick); 6 treeView1.AfterLabelEdit+=new NodeLabelEditEventHandler(treeView1_AfterLabelEdit); 7 } 8 9 private void Form1_Load(object sender, EventArgs e) 10 { 11 for (int i = 0; i < 10; i++) 12 { 13 treeView1.Nodes.Add("tv" + i.ToString()); 14 treeView1.Nodes[i].Nodes.Add("tvc"+i.ToString()); 15 } 16 treeView1.LabelEdit = true;//不可缺少 17 } 18 19 private void treeView1_MouseClick(object sender, MouseEventArgs e) 20 { 21 TreeView tv=(TreeView)sender;//获取treeview 22 if (e.Button == MouseButtons.Right)//判断是否鼠标右键 23 { 24 if (tv.SelectedNode != null)//判断是否存在选择节点 25 tv.SelectedNode.BeginEdit(); 26 } 27 } 28 private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e) 29 { 30 string newTxt = e.Label;//获取新文本 31 //string id = e.Node.Text;//获取原来的文本 32 33 //进行你的更新操作 34 35 }

 

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM