我正在使用visual studio 2003和Windows平台,我想要一些工具,它给我控件名称和控件类型的列表,如按钮,文本框等..在窗体中 有没有办法通过工具或任何代码来做到这一点? 提前谢谢。
答案 0 :(得分:2)
Visual Studio IDE中有 工具箱 ,可以为您提供详细信息。
答案 1 :(得分:1)
表单有Controls
个集合。您可以从中获取表单中存在的控件数组。为了获得类型,您需要遍历集合并为每个元素获取GetType().FullName
属性。
答案 2 :(得分:0)
您可以使用以下内容以编程方式执行此操作。此代码将逐步遍历表单上的每个容器,并使用递归显示每个控件的详细信息。它根据控件埋在容器内的深度(如面板等)缩进文本。
private void PrintControls()
{
// Print form coords
Debug.Print("\n" + this.Name + ": "
+ "\n\tLocation=" + this.Location.ToString()
+ "\n\tSize=" + this.Size.ToString()
+ "\n\tBottom=" + this.Bottom.ToString()
+ " Right=" + this.Right.ToString()
+ "\n\tMinimumSize=" + this.MinimumSize.ToString()
+ " MaximumSize=" + this.MaximumSize.ToString());
// Print coords for controls and containers
foreach (Control C in this.Controls)
{
RecurseThroughControls(C, 1);
}
}
private void RecurseThroughControls(Control C, int Tabs)
{
string Indent = "";
for (int t = 0; t < Tabs; t++)
{
Indent += "\t";
}
Debug.Print(Indent + "Name=" + C.Name + " Type=" + C.ToString()
+ "\n" + Indent + "\tLocation=" + C.Location.ToString()
+ "\n" + Indent + "\tSize=" + C.Size.ToString()
+ "\n" + Indent + "\tBottom=" + C.Bottom.ToString()
+ " Right=" + C.Right.ToString());
if (C.HasChildren)
{
foreach (Control Child in C.Controls)
{
RecurseThroughControls(Child, Tabs + 1);
}
}
}