1. 方法一:
  2. int nodeIndex = ;
  3. bool nodeChanged = false;
  4.  
  5. //右键点击,就进入修改状态
  6. private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
  7. {
  8. if (e.Button == MouseButtons.Right)
  9. {
  10. e.Node.BeginEdit();
  11. }
  12. }
  13.  
  14. private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
  15. {
  16. nodeIndex = e.Node.Index;
  17. nodeChanged = true;
  18.  
  19. e.Node.EndEdit(true );
  20. }
  21.  
  22. private void treeView1_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e)
  23. {
  24. if (nodeChanged == true)
  25. {
  26. //在这里保存数据到数据库
  27. MessageBox.Show(treeView1.Nodes[nodeIndex].Text);
  28.  
  29. nodeChanged = false;
  30. }
  31. }
    方法二:
  1. 方法二:
  2. MouseClickAfterLabelEdit的使用,treeView1.LabelEdit = true;这句不可缺少:
  3. public Form1()
  4. {
  5. InitializeComponent();
  6. this.Load+=new EventHandler(Form1_Load);
  7. treeView1.MouseClick+=new MouseEventHandler(treeView1_MouseClick);
  8. treeView1.AfterLabelEdit+=new NodeLabelEditEventHandler(treeView1_AfterLabelEdit);
  9. }
  10.  
  11. private void Form1_Load(object sender, EventArgs e)
  12. {
  13. for (int i = ; i < ; i++)
  14. {
  15. treeView1.Nodes.Add("tv" + i.ToString());
  16. treeView1.Nodes[i].Nodes.Add("tvc"+i.ToString());
  17. }
  18. treeView1.LabelEdit = true;//不可缺少
  19. }
  20.  
  21. private void treeView1_MouseClick(object sender, MouseEventArgs e)
  22. {
  23. TreeView tv=(TreeView)sender;//获取treeview
  24. if (e.Button == MouseButtons.Right)//判断是否鼠标右键
  25. {
  26. if (tv.SelectedNode != null)//判断是否存在选择节点
  27. tv.SelectedNode.BeginEdit();
  28. }
  29. }
  30. private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
  31. {
  32. string newTxt = e.Label;//获取新文本
  33. //string id = e.Node.Text;//获取原来的文本
  34.  
  35. //进行你的更新操作
  36.  
  37. }
  1.  

原文地址:http://www.cnblogs.com/better-than-ever/p/3222883.html  感谢原博主。在这里只是记录。

  1.  

C# 运行时编辑 节点重命名的更多相关文章

  1. C# Xml.Serialization 节点重命名

    XmlElement 节点重命名 XmlRoot 根节点重名称 XmlArray List集合添加根节点 XmlArrayItem List集合中子节点重命名 [Serializable] 将该类标记 ...

  2. WPF 之 TreeView右键选中节点及节点重命名

    下面的TreeView节点是通过数据双向绑定的方式,绑定到TextBlock控件和TextBox控件的Text属性上,并且让两者绑定相同的属性,同时使TextBox控件刚好完全覆盖TextBlock控 ...

  3. WPF如何实现TreeView节点重命名

    我们经常看到一些软件比如酷狗音乐,在对列表右键进行重命名的时候,当前列表会泛白并且进入可编辑状态,当我们更改完成后就会并进入非编辑状态,这些具体是怎么实现的呢?下面的方法也许会提供一些思路,下面的Tr ...

  4. WPF 之 TreeView节点重命名

    下面的TreeView节点是通过数据双向绑定的方式,绑定到TextBlock控件和TextBox控件的Text属性上,并且让两者绑定相同的属性,同时使TextBox控件刚好完全覆盖TextBlock控 ...

  5. 【译】在运行时编辑代码的 .NET 热重载

    今天,我们很高兴向你介绍 Visual Studio 2019 中 16.11(预览版1)中的 .NET 热重载(通过 .NET 6(预览版4)中的 dotnet watch 命令行工具).在这篇文章 ...

  6. c# winform TreeView NODE(节点) 重命名或获取节点修改后的值

    在程序开发过程中我们经常用到treeview,还经常要修改节点的名字.节点名字修改后还想及时更新数据库.这时问题就来了,怎样获取NODE(节点)更新后的值呢?本人试了很多方法最终分析出treeview ...

  7. Winform中node.Text重命名时窗口无响应假死的解决方法

    用户控件中有一个树,窗体使用了这个控件,但是重命名时执行node.text="XXXX" 执行了很长时间,大约9s,在此期间winform界面假死,尝试过多线程异步委托的方式来操作 ...

  8. iOS项目重命名以及Xcode修改Scheme名称图文详解 (yoowei)

    在iOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦.温馨提醒:记得备份. 看到项目名称,总感觉有点low,所以尝试着要将其更改一下. 项目原结构如下: 更改后的项目结构如下: 下面开始更改操作 ...

  9. Linux环境给文件重命名

    Linux环境给文件重命名时,如果重命名后的文件名称与当前路径下已存在的文件名称相同,则重命名的文件会覆盖相同名称的文件内容: 例如:新建文件testfile1,内容为mytest: 新建文件test ...

随机推荐

  1. 使用Jenkins搭建持续集成服务

    1. 什么是持续集成 持续集成 (Continuous Integration, 简称 CI) 是软件工程中的一种实践, 用于将开发人员不同阶段的工作成果集成起来, 通常一天之中会进行多次. 持续集成 ...

  2. PS 的参考线

    新建参考线 菜单:"视图-新建参考线", 直接输入想要位置的参考线.   参考线对齐 按住Shift键拉辅助线,辅助线会自动对齐到当前标尺的刻度上.           按住Alt ...

  3. sql server Geometry 类型操作 笔记

    sqlGeometry 类型为sql server 2008之后的版本 新加的一种CLR扩展数据类型,为广大sql server开发人员存储几何类型及空间运算提供极大的便利,下面说明geometry类 ...

  4. Python 的 List 要印出 中文 編碼

    Python 的 List 如果有中文的話, 會印出 \xe4\xb8… 等等的編碼, 要如何印出中文呢(如下範例)? (Debug 方便查看) View Raw Code? >>> ...

  5. 网络编程socket

    socket socket解释 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄. 应用程序通常通过"套接字"向网络发出请求或者应答 ...

  6. relatedTarget、fromElement、toElement之间的关系

    在发生mouseover和mouseout事件时会把鼠标指针从一个元素的边界之内移到另一个元素边界之内.对 mouseover事件而言,事件的target是获得光标的元素,而relatedTarget ...

  7. php mysql_affected_rows获取sql执行影响的行数

    php mysql_affected_rows函数用于获取执行某一SQL语句(如INSERT,UPDATE 或 DELETE )所影响的行数,本文章向大家介绍php mysql_affected_ro ...

  8. unique踢出相同元素

    unique函数的功能是:去除相邻的重复元素(只保留一个). 函数参数:unique(first,last,compare); //first为容器的首迭代器,last为容器的末迭代器,compare ...

  9. 一道 JavaScript 面试题

    有一道 JavaScript 面试题. f = function () { return true; }; g = function () { return false; }; (function() ...

  10. [闲谈] 有经验的程序员用Google用得多么?

    关于程序员有没有必要记一些API什么的讨论有很多,我个人觉得能Google到的就没必要刻意去记,可以简单的做个笔记,需要用的时候查一下就好了.真正有必要记的东西,用得多了自然也就能记住了. 文章不难, ...