Net UI Spy工具:ManagedSpy
Net UI Spy工具:ManagedSpy
很久之前在接手一个大型的Winform项目的时候。有如下困难:
1,项目很大整个产品的Build由1400多个Project组成
2,产品的组件、控件太多太多
3,代码已经是N代传到N代了
基于以上的现状,项目组中的人员,没有谁对于整体能大概的把握。那么在维护和修改的时候,如何能根据UI的操作,快速定位到某个控件、组件的代码位置,就十分必要了。
当时首先想到的就是找一个UI Spy工具,来辅助这个需求。经过一番实践,发现:ManagedSpy最为好用。当然了,有时候也会配合另一个类似工具:Object Spy一起使用。
关于ManagedSpy,你能从:http://msdn.microsoft.com/en-us/magazine/cc163617.aspx获得更加详细的说明和工具源码。
关于Object Spy,你能从:http://www.codeproject.com/KB/dotnet/objectspy.aspx获得详细的说明和工具源码。

下面以上图为例子,简单说明ManagedSpy的使用。
可以看到ManagedSpy的左边可以显示当前本机上所运行的App,并且每个App均以控件树的形式展现。在控件树的[]之内可以很方便查看到NameSpace信息。通过这它,就可以找代码的位置了。需要特别说明的是:对于结构比较负责的UI来说,常常,要找你所关注那一个Control并不是那么容易,这个时候,你可以点击控件树的节点的右键,选择:“Show Window”,此时注意观察当前运行App的UI,你会发现,这个Control的区域会出现一个青蓝色框,这样就可以让你很清楚,你所查看的Control,对应UI的是哪块,这样,最后这样通过大到小的顺序就可以准确找到你的目标Control了。
ManagedSpy的右边视图是,左边选中控件树节点的详细信息。另外,需要说明的是,这些详细信息的各个属性,有些是可以修改的。而且对于修改之后的效果会体现现在当前的App之上,比如,选择某个Label,修改其Text属性,那么效果就会立刻在当前运行的App上体现。
Net UI Spy工具:ManagedSpy的更多相关文章
- Reveal UI 分析工具简单使用
官网下载地址(30天免费试用):http://revealapp.com/ 作用: 在 iOS 开发中,我们有时很希望有一款类似 Web 开发中的 UI Debug 工具(例如:Firebug),让我 ...
- Reveal UI 分析工具分析手机 App
上篇文章介绍了: Reveal UI 分析工具简单使用 这里介绍如何使用 Reveal UI 分析工具来进行手机 App UI 界面的分析. 前提准备: (1)已安装 Reveal 的 Mac (2) ...
- 国外一些好用的UX/UI设计工具和资源分享
国外一些好用的UX/UI设计工具和资源分享 你今天使用的设计工具也许不再适合以后的网页和APP设计项目了.新的工具不断的推出市场,目标只有一个,让你的工作更快.更容易而且工作成效更好.今天分享的这些U ...
- 移动周报:十款最实用的Android UI设计工具
上一周可以说是一个不断Mark周,从最实用的Android UI设计工具.免费移动应用测试框架推荐,到HTML5开发框架等等,各种开发工具.框架精彩丰呈,看得小伙伴们是不亦乐乎.当然,还有不容错过的M ...
- Pencil-一个开源免费的UI原型工具,自带ios和android模板
Pencil是一个开源免费的UI原型工具,自带ios和android模板,可以很方便的做mockup. 下图是一个官方展示的模板:
- 好用的UI设计工具
51yuansu 好用的在线画UI图工具 51yuansu.com processon.com processon在线画图工具,程序流程图及UI设计原型图,脑图等 draw.io的PC版画图工 ...
- 宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具(转)
宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具 转载: https://blog.csdn.net/m0_37606112/article/details/ ...
- 如何用SPY++工具查看窗体的句柄
我安装的是vs2012,先找到SPY++工具打开 打开方式: 方式1:通过路径(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microso ...
- Selenide 阶段性总结介绍(UI自动化测试工具)
今天给大家介绍一个比较新的UI自动化测试工具-- Selenide.确实是比较新的,国内应该还没有多少人用它.在百度和google上你只能搜到一个中文帖子简单介绍了一下.如果你想用这个工具,不可避免的 ...
随机推荐
- OPCode详解及汇编与反汇编原理
1. 何为OPCode 在计算机科学领域中,操作码(Operation Code, OPCode)被用于描述机器语言指令中,指定要执行某种操作的那部分机器码,构成OPCode的指令格式和规范由处理器的 ...
- Oraclecloud创建时没有上传公钥的解决办法
https://blogs.oracle.com/cloud-infrastructure/recovering-opc-user-ssh-key-on-oracle-cloud-infrastruc ...
- docker理论 Cgroup namespace 各种隔离
耦合 是指两个或两个以上的体系或者两种运动形式间通过相互作用而批次影响以至联合起来的现象. Nginx与apache 在同一台服务器运行都占用80端口,起冲突这是我们修改其中一个端口为8080 半解耦 ...
- distribution system index
Resiliency:可译为容错性,强调从错误状态恢复的能力.形容词Resilient可译作“可容错的”. Elasticity:可译为伸缩性,强调根据负载进行水平伸缩的能力.形容词Elastic可译 ...
- ubuntu之路——day5(今天看了浅层神经网络的数学推导过程)
1.初始化 2.前向传播 导数比较好理解 3.反向传播 全符号积分的推导看得我头有点晕 最后唤起我依稀的线代回忆 感谢吴恩达老师的反向传播讲解,第一遍看的有点晕,然后仔细看了一下又找了个B站的推导就懂 ...
- openssl从内存中读取私钥进行签名
麻痹的找了好久,真恶心! #include <stdio.h> #include <stdlib.h> #ifdef WIN32 #include <windows.h& ...
- matplotlib显示黑白灰度图像颜色设置
对于黑白灰度图像(矩阵) 1. 默认使用伪彩色拉升 2 cmap参数为 binary,可能导致颜色反转 3. cmap = gray,same color as origin, that is, wh ...
- Android从5.0到9.0版本的主要变更
https://www.jianshu.com/p/10bdbf883c46?utm_source=desktop&utm_medium=timeline Android5.0 1.虚拟机 在 ...
- 000 vue各种基本指令
一:vue实例 1.实例 新建项目: 2.程序 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Acunetix Web Vulnerability Scanner abbr. AWVS
awvs 中文手册详细版 - 木讷 - 博客园https://www.cnblogs.com/iamver/p/7124718.html Download Acunetix Trialhttps:// ...