2009-07-31 10 views
0

Ich benutze Visual Studio 2003 und Windows-Plattform und ich möchte einige Werkzeug, die mir die Liste der Steuerelemente Name und Steuerelement geben Typ wie Schaltfläche, Textfeld etc .. in der Form gibt es einen Weg zu Mach das mit Werkzeug oder mit irgendeinem Code? danke im voraus.Liste Name der Steuerelemente und Formular

Antwort

2

Es gibt Toolbox in Visual Studio IDE, die Ihnen die Details geben wird.

+0

Ich denke OP will den Namen der Kontrollen programmatisch auflisten. – adatapost

+0

ich kann es nicht finden wo genau ist toolbox? – KuldipMCA

1

Es gibt eine Controls Sammlung für das Formular. Sie können das Array der Steuerelemente abrufen, die in dem Formular vorhanden sind. Um den Typ zu erhalten, müssen Sie die Sammlung durchlaufen und die GetType().FullName-Eigenschaft für jedes Element abrufen.

0

Sie können es programmatisch mit etwas wie dem folgenden tun. Dieser Code durchläuft jeden Container in einem Formular und zeigt Details für jedes Steuerelement mit Rekursion an. Es wird der Text abhängig davon eingegrenzt, um wie viele Ebenen die Steuerung in Containern (wie Panels usw.) vergraben ist.

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