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 }
转载于:https://www.cnblogs.com/better-than-ever/p/3222883.html
C# winform treeview节点重命名相关推荐
- MFC CTreeCtrl节点重命名
1.右键属性 找到Edit Labels,将其设置为true 可编辑 2. ON_NOTIFY(TVN_ENDLABELEDIT, IDC_TREE_CHAPTER, OnTvnEndlabeledi ...
- TreeView控件节点重命名后没有进入beginEdit的解决方案
我因为讲事件写在mousedown里所以出现了上述问题,写在mouseup里就可以了 关键是mouseup前会触发afteredit,所以要写在mouseup里而不是mousedown. 转载于:ht ...
- winform TreeView 节点选择
public partial class Form1 : Form{public Form1(){InitializeComponent();}string tag = "True" ...
- winform中与asp.net中的 TreeView节点处理对比
下面是winform中与asp.net中的 TreeView节点处理对比 TreeNode temNode = selectNode; // 1.删除 selectNo ...
- C# winform TreeView 屏蔽双击展开/折叠子节点
一搜索这个基本都是一样的通过事件来处理 思路: 1.通过点击事件,记录点击的节点信息(是否为双击了节点的bounds,是的话在第二步cancel掉) 2.通过BeforeExpand.BeforeCo ...
- Winform巧用窗体设计完成弹窗数值绑定-以重命名弹窗为例
场景 在WIinform中有一种场景就是对文件进行重命名时需要获取原来的名字并填充窗体中的输入框, 然后在点击保存时还要能获取弹窗中输入框的内容. 比如点击重命名时弹窗 点击确认时获取输入框内容. 注 ...
- DevExpress的TreeList实现显示本地文件目录并自定义右键实现删除与重命名文件
场景 使用DevExpress的TreeList显示本磁盘下文件目录并在树节点上右键实现删除与添加文件. 效果 自定义右键效果 实现 首先在包含Treelist的窗体的load方法中对treelist ...
- WinForm——TreeView总结
目录 常用属性 CheckBoxes属性 LabelEdit属性 Nodes属性. ShowLines属性 常用方法 CollapseAll()方法 ExpandAll()方法 GetNodeCoun ...
- .NET混淆器 Dotfuscator使用教程七:加强保护之改进重命名混淆
本篇文章将继续上一篇文章<.NET混淆器 Dotfuscator使用教程六:加强保护之添加Checks>,为大家介绍加强保护之改进重命名混淆和改进控制流混淆. 下载Dotfuscator最 ...
最新文章
- 每日一题(进制转换)
- 使用商业模式的九大模块去分析京东的商业模式_商业模式—筑基篇(1)
- python基本使用-Python的基本用法
- php swoole编译,php+swoole+redis源码编译安装
- Android 语音播报,语音识别demo
- 动态规划之神奇的口袋问题
- 程序员月入2万与5千,这就是差距!
- 2 抽象工厂模式(Abstract Factory)
- Django:数据迁移不生成auth相关表
- mysql中gtid关闭方法_CDH-mysql 开启关闭 gtid
- 王不可以怒而兴师,将不可以愠而致战
- Improving Opencv 1:The Core Functionality (core module) Mat - The Basic Image Container
- 安装Oracle驱动ojdbc8到本地maven仓库
- matlab 介电常数,改进的基于Matlab GUI的微波介电常数测量系统
- java输出 JButton,Java JButton用法
- 英语语法之四大基本句式
- Minecraft Mod 开发:2-Hello, Minecraft Mod World!
- vue+h5仿微信网页版聊天室vueWebChat项目
- linux命令里的xz是干嘛的,xz命令 - Linux命令大全 | linux教程
- 用JS实现PC端淘宝查看商品图片放大镜效果
热门文章
- (11)zabbix item types监控类型
- Lattice diamond IPexpress 例子 - PLL
- 图像处理中消除相机透镜畸变和视角变换
- [王晓刚]深度学习在图像识别中的研究进展与展望(转发)
- Spark编程指南笔记
- 基于继承类的属性模版中无法绑定的原因和解决方法
- Android。WebView加载UR请求使用Cookie储存User_Id记录用户是否登陆过
- 分布式系统事务一致性解决方案
- axios + router4 + mobx:对于全局登录的思考
- 知乎上8个100K+高赞回答(筛选自63万个回答)