我正在开发一个 WinForm 应用程序。表单有许多字段/组件,但构建不佳。例如,一个字段在一种情况下用作用户名,在另一种情况下用作文件夹路径。代码维护得很差。
有可能当我运行应用程序并出现 GUI 时,我可以使用像“spy++”这样的工具,它可以显示组件的“名称”(而不是 id)。例如按钮的名称或标签的名称。
或者如果我可以将 SPY++ 用于“名称”,请告诉我?
我正在开发一个 WinForm 应用程序。表单有许多字段/组件,但构建不佳。例如,一个字段在一种情况下用作用户名,在另一种情况下用作文件夹路径。代码维护得很差。
有可能当我运行应用程序并出现 GUI 时,我可以使用像“spy++”这样的工具,它可以显示组件的“名称”(而不是 id)。例如按钮的名称或标签的名称。
或者如果我可以将 SPY++ 用于“名称”,请告诉我?
我将通过向您的表单添加一个工具提示控件并遍历每个控件并将工具提示消息添加到作为控件名称的每个控件来解决该问题。
首先,将 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 控件,这也将起作用。