【问题标题】:Is there a WinForm control inspector application?是否有 WinForm 控件检查器应用程序?
【发布时间】:2010-05-11 22:09:00
【问题描述】:

我正在寻找能够提供有关正在运行的 .NET WinForms 应用程序的交互式元数据的东西。

基本上,我希望能够将鼠标悬停在正在运行的 WinForms 应用程序上,并让检查器突出显示各种控件,并让我检查诸如大小、位置、父级等属性。

我本可以发誓我在某个地方看到过这个,但我所有的搜索都没有结果。

【问题讨论】:

    标签: .net winforms debugging


    【解决方案1】:

    我相信您正在寻找Hawkeye。您也可以查看GitHub 以获得更新的版本。

    【讨论】:

    • 哇。鹰眼真的很酷。它不仅解决了我的“观察”问题,而且还允许我使用 UI 进行实时实验(更改属性等),看看会发生什么。非常非常好。
    • wfSpy 还允许您在运行时更改属性。
    • 看起来很酷,但是当我将目标拖放到我的应用程序上时,我得到“系统找不到指定的文件”。在 Hawkeye 的网页上,联系链接指向 404。
    • Hawkeye 已经开源,现在在 Codeplex 上:hawkeye.codeplex.com
    • 你如何使用它?我很困惑。我将 X 拖到应用程序中的控件上,现在 Hawkeye 说“
    【解决方案2】:

    WinForms Spy 不错。 codeproject 版本没有可拖动的十字准线,但有一个version out there that added it

    【讨论】:

    • 这个绝对值得一提。这是查看整体层次结构的好工具。但是鹰眼很棒。
    • 我喜欢这样想:wfSpy 非常易于使用,而 Hawkeye 则更强大一些。我通常先开始使用 wfSpy,然后在需要时拿出大炮(Hawkeye)。
    【解决方案3】:

    试试 nuget 包:WinForm.Inspector.Tool

    设置文档

    • 在您的项目中实例化检查器。

      Inspector inspector = new Inspector();

    • 忽略特定控件,例如。按钮。

      inspector.IgnoreTypes = new Type[] { typeof(Button) };

    • 跳过控件例如。隐形和禁用。

      inspector.SkipChilds = GetChildAtPointSkip.Invisible | GetChildAtPointSkip.Disabled;

    运行您的项目并按 Ctrl + F8 打开 ControlViewer。

    按住“Alt”并将鼠标移到控制器上以选择它们。

    【讨论】:

    • 有独立版吗?
    【解决方案4】:

    对于 2021 年的响应,最好的是 Windows SDK Inspect.exe

    https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk/

    从 C:\Program Files (x86)\Windows Kits\10\bin\x64 或 x86 运行 inspect.exe

    【讨论】:

      猜你喜欢
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 2011-06-12
      • 1970-01-01
      • 2010-09-18
      • 1970-01-01
      • 2021-12-21
      • 2014-01-14
      相关资源
      最近更新 更多