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的更多相关文章

  1. Reveal UI 分析工具简单使用

    官网下载地址(30天免费试用):http://revealapp.com/ 作用: 在 iOS 开发中,我们有时很希望有一款类似 Web 开发中的 UI Debug 工具(例如:Firebug),让我 ...

  2. Reveal UI 分析工具分析手机 App

    上篇文章介绍了: Reveal UI 分析工具简单使用 这里介绍如何使用 Reveal UI 分析工具来进行手机 App UI 界面的分析. 前提准备: (1)已安装 Reveal 的 Mac (2) ...

  3. 国外一些好用的UX/UI设计工具和资源分享

    国外一些好用的UX/UI设计工具和资源分享 你今天使用的设计工具也许不再适合以后的网页和APP设计项目了.新的工具不断的推出市场,目标只有一个,让你的工作更快.更容易而且工作成效更好.今天分享的这些U ...

  4. 移动周报:十款最实用的Android UI设计工具

    上一周可以说是一个不断Mark周,从最实用的Android UI设计工具.免费移动应用测试框架推荐,到HTML5开发框架等等,各种开发工具.框架精彩丰呈,看得小伙伴们是不亦乐乎.当然,还有不容错过的M ...

  5. Pencil-一个开源免费的UI原型工具,自带ios和android模板

    Pencil是一个开源免费的UI原型工具,自带ios和android模板,可以很方便的做mockup. 下图是一个官方展示的模板:         

  6. 好用的UI设计工具

    51yuansu  好用的在线画UI图工具    51yuansu.com processon.com processon在线画图工具,程序流程图及UI设计原型图,脑图等 draw.io的PC版画图工 ...

  7. 宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具(转)

    宇宙最强VisualStudio2017配置pyQt5用于python3.6的UI界面工具 转载: https://blog.csdn.net/m0_37606112/article/details/ ...

  8. 如何用SPY++工具查看窗体的句柄

    我安装的是vs2012,先找到SPY++工具打开 打开方式: 方式1:通过路径(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microso ...

  9. Selenide 阶段性总结介绍(UI自动化测试工具)

    今天给大家介绍一个比较新的UI自动化测试工具-- Selenide.确实是比较新的,国内应该还没有多少人用它.在百度和google上你只能搜到一个中文帖子简单介绍了一下.如果你想用这个工具,不可避免的 ...

随机推荐

  1. leetcode解题报告(29):Student Attendance Record I

    描述 You are given a string representing an attendance record for a student. The record only contains ...

  2. hihoCoder #1143 : 骨牌覆盖问题·一(矩阵乘法)

    1143 : 骨牌覆盖问题·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 骨牌,一种古老的玩具.今天我们要研究的是骨牌的覆盖问题: 我们有一个2xN的长条形棋盘,然 ...

  3. 【dp】P1541 乌龟棋

    链接: https://www.luogu.org/problemnew/show/P1541 [思路]: 用f[a][b][c][d]表示,第一张卡用a张,第二张卡用b张..........然后就盘 ...

  4. spark sql 常用语句

    在spark dataFrame数据结构里面使用sql语句查询数据 (因为是RDD和dataFrame数据是只读的,所以不能做修改,删除操作.) 首先将文本数据转换为DataFrame数据格式 有两种 ...

  5. PCI BAR设置过程[转]

    最近因为工作需要用到pci设备的BAR内容,之前看了没深刻印象,这里整理一下. PCI设备有很好的可配置型和易操作性,这很大方面要归功于其地址空间的可动态分配的特性.而动态分配地址空间就是依赖于BAR ...

  6. php之简单socket编程

    一.什么是套接字 源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字.其用于标识客户端请求的服务器和服务. 二.php套接字实例 服务端代码:socket.php <?php er ...

  7. 2、Apache(httpd)之一 三种工作模式

    httpd的特性: 高度模块化:core + modules 模块化设计DSO:Dynamic Shared Object MPM:Multipath Processing Modules 多路处理模 ...

  8. 「ZJOI2019」线段树

    传送门 Description 线段树的核心是懒标记,下面是一个带懒标记的线段树的伪代码,其中 tag 数组为懒标记: 其中函数\(Lson(Node)\)表示\(Node\)的左儿子,\(Rson( ...

  9. Codeforces Round #607 (Div. 2)

    A - Suffix Three 题意:规定三种语言的结尾符,给出字符串,判断是什么语言. void test_case() { string s; cin >> s; reverse(s ...

  10. Zk单机多实例部署

    一.环境准备 当前环境:centos7.3一台软件版本:zookeeper-3.5.2部署目录:/usr/local/zookeeper启动端口:2181,2182,2183配置文件:/usr/loc ...