【问题标题】:Tool to know Windows Form Application's Form fields了解 Windows 窗体应用程序的窗体字段的工具
【发布时间】:2011-08-10 07:51:49
【问题描述】:

我正在开发一个 WinForm 应用程序。 表单有许多字段/组件,但构建不佳。 例如,一个字段在一种情况下用作用户名,在另一种情况下用作文件夹路径。代码维护得很差。

有可能当我运行应用程序并出现 GUI 时,我可以使用像“spy++”这样的工具,它可以显示组件的“名称”(而不是 id)。例如按钮的名称或标签的名称。

或者如果我可以将 SPY++ 用于“名称”,请告诉我?

【问题讨论】:

  • 我认为 System.Reflection 类在这里可能会为您提供更多帮助。

标签: winforms desktop-application spy++


【解决方案1】:

我会通过在表单中​​添加一个 ToolTip 控件并遍历每个控件并向每个控件添加一个 Tool Tip 消息来解决这个问题,该消息是该控件的名称。

首先,将 ToolTip 对象添加到您的表单(来自设计器的“工具”部分。)您可以重命名它,但为了我的演示,我将其保留为默认名称 toolTip1

接下来,将类似于我在下面发布的方法添加到表单的代码页中。 (我假设这是针对 C# 的,但代码很简单,可以很容易地针对 VB 或 C++ 进行修改)。

public void AddNameToToolTip(Control c)
{
    toolTip1.SetToolTip(c, c.Name);
    foreach (Control child in c.Controls) AddNameToToolTip(child);
}

最后,在 Form 构造函数中,在调用 InitializeComponent() 之后添加以下代码行。

AddNameToToolTip(this);

这将为表单中的每个控件添加一条工具提示消息。您只需将鼠标悬停在每个控件上,工具提示将在一两秒后弹出一条消息,显示底层控件的名称。

或者,您可以递归地将 MouseHover 事件添加到每个控件,并在触发事件时将控件的名称写入调试器。如果您已经在表单中使用 ToolTip 控件,这也将起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多