【问题标题】:Is there a utility that can monitor open windows/ in .net winforms?是否有可以监视.net winforms 中打开的窗口/的实用程序?
【发布时间】:2010-04-13 15:34:55
【问题描述】:

这是一个普遍的问题,但我现在将解释我的具体需求:

我想找到能够在设计时选择图像的框架类。我可以找到在运行时使用的编辑器 - 它是 Drawing.Design.ImageEditor。然而,在设计时,会弹出一个不同的编辑器,允许人们从资源中选择图像。

我猜我可以运行某种程序,然后从属性网格打开图像编辑器,看看创建了哪些新窗口/类?

谢谢

【问题讨论】:

    标签: c# .net vb.net process monitoring


    【解决方案1】:

    是的,您可以通过使用另一个 Visual Studio 实例来查看正在使用的内容,并使用工具 + 附加到进程(托管)来查看调用堆栈。它是一个 Microsoft.VisualStudio.Windows.Forms.ResourcePickerDialog。这不是您可以在自己的代码中使用的东西,Visual Studio 设计器程序集不可重新分发。它们也不会有用,它们会在项目的设计时状态下胡作非为。

    让你拥有并不难,只需使用反射来迭代 Properties.Resources 的属性并找到具有 Bitmap 或 Icon 类型的那些。在 ListView 中显示它们以允许用户选择一个。不能在运行时添加资源。

    【讨论】:

    • 对我来说不是一个选项,我在快速版上。感谢您找到对话框。我不想创建自己的,我需要查看它正在使用的服务,因为当我尝试在设计时从属性网格浏览图像时出现空引用异常 - 而不是V Studio 属性浏览器。我的下一个问题是我到底要如何添加这些服务!我将为此创建一个新问题。
    • 如果有人感兴趣,我已经在这里回答了这个问题:stackoverflow.com/questions/2632728/…
    【解决方案2】:

    与您提到的功能相似的工具是 Spy++,您可以在开始菜单的 Visual Studio 文件夹中找到它(在子菜单 Visual Studio 工具下)。

    但是,如果我对您的理解正确,我认为您所说的设计时编辑器不是用托管代码编写的,即使是这样,我也很确定它不在框架中。它只是 Visual Studio 本身的一部分,据我所知,您无法获得它的源代码。

    【讨论】:

    • 谢谢,我似乎没有,但我听说过。我会做一个谷歌并尝试一下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 2010-10-08
    相关资源
    最近更新 更多