Вы можете сделать это программно с помощью чего-то вроде следующего. Этот код будет проходить через каждый контейнер в форме и отображать детали для каждого элемента управления с помощью рекурсии. Он выравнивает текст в соответствии с тем, на сколько уровней элемент управления скрыт внутри контейнеров (например, панелей и т. Д.).
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);
}
}
}