当前位置: 首页 > news >正文

绝望的C#:TreeView为什么双击自动展开、折叠?双击事件的参数根本不是双击位置

        双击打开编辑窗口应该是个再正常不过的想法吧?但是被自动展开、折叠搅了。

        为什么自动展开折叠就出问题了?因为在某些情况下自动展开、折叠改变了节点的显示位置,节点的位置向下了——因为折叠导致下方内容变少,控件为了避免下方出现空白而将内容向下移动了。

        但是这有什么问题呢?问题是双击事件给出的鼠标位置不变而双击节点的位置却改变了,导致根据鼠标位置来做处理失败。

        代码:

		private void treeView_DoubleClick(object sender, EventArgs e){MouseEventArgs mouseEventArgs = (MouseEventArgs)e;TreeNode node = this.treeView.GetNodeAt(mouseEventArgs.Location);MessageBox.Show(node.ToString()+"\n"+ mouseEventArgs.Location.ToString(), this.treeView.SelectedNode.ToString());}

        这个事件的参数是通用的,要自行做转换,sender是TreeView对象,e是鼠标事件。

        代码清晰地显示传入的鼠标位置下的节点并不是双击的节点。

        双击节点“device503”,由于自动折叠而向下移动,根据位置获取的节点是“rate:30000”,理论上这个参数没错,双击确实发生在那个位置,但是……但是整个界面被你移动了啊,现在的位置对不上之前的节点。

        不过还好,选中节点是正确的,如果只需要根据选中节点来处理,那么这也不是个问题。

        能不能屏蔽自动展开、折叠?随手搜了一下,都反应比较麻烦。

        坑。 

相关文章:

  • 深入理解Vue3.js响应式系统设计之调度执行
  • FlinkCDC介绍及使用
  • 【论文速读】|对BusyBox进行模糊测试:利用大语言模型和崩溃重用挖掘嵌入式系统中的漏洞
  • Ubuntu 22.04.1 安装ubuntu有道词典时错误发生
  • 2352.相等行列对
  • Jmeter性能 之 “查看结果树” 界面功能介绍
  • 各种开发语言运行时占用内存情况比较
  • 视频智能分析平台LntonAIServer安防监控视频平台行人入侵检测算法核心特点及其应用价值
  • 网络与协议安全复习 - 电子邮件安全
  • Java宝藏实验资源库(4)对象数组
  • redis-基础篇(1)
  • ubuntu server 22.04安装 fdfs
  • 上海国际嵌入式展 - 基于树莓派5和CODESYS的16轴运动控制解决方案
  • <Python><paddleocr>基于python使用百度paddleocr实现图片文字识别与替换
  • 前后端分离的后台管理系统源码,快速开发OA、CMS网站后台管理、毕业设计项目
  • 自己简单写的 事件订阅机制
  • [数据结构]链表的实现在PHP中
  • axios 和 cookie 的那些事
  • GitUp, 你不可错过的秀外慧中的git工具
  • iOS 系统授权开发
  • JDK9: 集成 Jshell 和 Maven 项目.
  • laravel5.5 视图共享数据
  • MySQL用户中的%到底包不包括localhost?
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 复习Javascript专题(四):js中的深浅拷贝
  • 跨域
  • 浅谈web中前端模板引擎的使用
  • 入门级的git使用指北
  • 通过npm或yarn自动生成vue组件
  • 王永庆:技术创新改变教育未来
  • 为视图添加丝滑的水波纹
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • # 数据结构
  • #Linux(Source Insight安装及工程建立)
  • #pragma预处理命令
  • $jQuery 重写Alert样式方法
  • $refs 、$nextTic、动态组件、name的使用
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (a /b)*c的值
  • (C语言)字符分类函数
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (多级缓存)缓存同步
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (三)elasticsearch 源码之启动流程分析
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)VirtualBox安装增强功能
  • (转)3D模板阴影原理
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)fock函数详解
  • (转)mysql使用Navicat 导出和导入数据库
  • *算法训练(leetcode)第四十天 | 647. 回文子串、516. 最长回文子序列
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选