2011-08-10 77 views
0

我正在使用WinForm应用程序。 表单有许多字段/组件,但建立得不好。 例如,一个字段在一个案例中用作用户名,在另一个案例中用作文件夹路径。代码维护得不好。了解Windows窗体应用程序窗体字段的工具

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

或者如果我可以使用SPY ++作为'姓名'请告诉我吗?

+0

我认为System.Reflection类可能会帮助你更多。 – LarsTech

回答

1

我会解决这个问题,方法是向表单中添加一个工具提示控件,并遍历每个控件并向每个控件添加一个工具提示消息,该控件是控件的名称。

首先,将一个工具提示对象添加到您的表单中(从设计器的工具部分)。您可以重命名它,但为了演示,我将其作为默认名称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控件,这也可以工作。

+0

太棒了,谢谢... – Umer