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. mysql 运算操作符

    Name Description AND, && Logical AND = Assign a value (as part of a SET statement, or as par ...

  2. GoCN每日新闻(2019-09-26)

    1. go-gin-api 路由中间件:Jaeger 链路追踪(六)https://mp.weixin.qq.com/s/Ea28475_UTNaM9RNfgPqJA2. golang interfa ...

  3. Quartz.NET浅谈一 : 简单Job使用(定时发送QQ邮件)

    Quartz.NET是一个全功能的开源作业调度系统,可用于从最小的应用程序到大型企业系统. 直接上代码吧... 一.新建一个控制台项目 略过 二.安装Nuget包 三.创建发送邮箱辅助工具类 stat ...

  4. datagrid其中某列需要动态隐藏或显示的mvvm绑定方式,也可以用在其他表格类型控件上

    版权归原作者所有. 引用地址 [WPF] HOW TO BIND TO DATA WHEN THE DATACONTEXT IS NOT INHERITED MARCH 21, 2011 THOMAS ...

  5. 模板 - 数学 - 同余 - 扩展Euclid算法

    普通的扩展欧几里得算法,通过了洛谷的扩展欧几里得算法找乘法逆元.修复了容易溢出的bug,虽然新版本仍有可能会溢出longlong,假如参与运算的数字都是longlong,假如可以的话直接使用__int ...

  6. python3之线程(一)

    线程的概念 现在的操作系统几乎都支持运行多个任务,而在操作系统内部,一个任务往往代表的执行的某一个程序,也就是运行中的程序,运行的程序是一个动态的概念,也就是所说的进程,而在进程内部,往往有许多顺序执 ...

  7. CSS Sticky 其实很简单

    为什么要写这篇文章 Sticky 也不是新知识点了,写这篇文章的原因是由于最近在实现效果的过程中,发现我对 Sticky 的理解有偏差,代码执行结果不如预期.决定写篇文章重新学习一次. 什么是 Sti ...

  8. Coupled和segregated【转载】

    转载自:http://blog.sina.com.cn/s/blog_67873f6c0100ltq6.html 问题1: 我看中文帮组里说是'分离'的意思?我绝对翻译不太好,请问有更好的翻译吗? 和 ...

  9. EasyTrader踩坑之旅(三)

    快速阅读 ​ 用THSTrader 调试同花顺自动下单的过程 . 主要原理是利用python函数pywinauto 自动获取同花顺上相应控件的值,进行模拟自动化的操作,不得不说python函数库的强大 ...

  10. MITMProxy如何配置二次代理

    MITMProxy如何配置二次代理 0.2172018.09.05 11:13:15字数 232阅读 2609 前序: mitmproxy真的很强大,或许是大家都各自使用,或者没有相关的需求,导致我废 ...