我正在研究WinForm应用程序。 表单有许多字段/组件,但构建不良。 例如,一个字段在一个案例中用作用户名,在另一个案例中用作文件夹路径。代码维护得很差。
有可能当我运行应用程序和GUI时,我可以使用像'spy ++'这样的工具,它可以显示组件的“名称”(而不是ids)。例如,按钮的名称或标签的名称。
或者,如果我可以使用SPY ++代表“名字”,请告诉我?
答案 0 :(得分: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);
这会向表单中的每个控件添加一个ToolTip消息。您只需将鼠标悬停在每个控件上,工具提示将在显示基础控件名称的一两秒后弹出一条消息。
或者,您可以递归地向每个控件添加MouseHover事件,并在触发事件时,将控件的名称写入调试器。如果您已在表单中使用ToolTip控件,这也可以使用。