2009-07-31 44 views
0

我使用的Visual Studio 2003和Windows平臺的名字,我想一些工具,它給我的控件名稱和控制型像按鈕,文本框等名單..形式 是有什麼辦法通過工具或任何代碼來做到這一點? 在此先感謝。列表控件和Form

回答

2

還有工具箱在Visual Studio IDE中,它會給你的細節。

+0

我想OP想要以編程方式列出控件的名稱。 – adatapost 2009-07-31 06:37:09

1

有一個Controls集合的形式。您可以從中獲取表單中的控件數組。爲了獲得類型,則需要遍歷集合,並得到GetType().FullName財產的每個元素。

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); 
      } 
     } 
    }