2009-08-16 6 views

Antwort

3

Neben Iordan Antwort, wenn Sie nicht genau wissen, wo auf dem Formular der Textbox ist, dann sollte diese Erweiterungsmethode viel helfen. Beachten Sie, dass Form von Control irgendwo auf der Strecke zu erben, so dass Sie es von diesem oder jedem Steuerelement auf Ihrem Formular aufrufen können.

public static class ExtensionMethods 
{ 
    public static Control FindControl(this Control root, string name) 
    { 
     foreach (Control c in root.Controls) 
     { 
      // Check this control 
      if (c.Name == name) return c; 

      // Check this controls subcontrols 
      Control tmp = c.FindControl(name); 
      if (tmp != null) return tmp; 
     } 

     return null; 
    } 
} 

Wenn diese noch nicht flexibel genug für Sie ist, dann können Sie iterieren System.Windows.Forms.Application.OpenForms

3

wenn Sie den Namen der Textbox und ihre Mutter Kontrollen kennen, können Sie wie folgt tun:

TextBox tb = (TextBox)parent.Controls["name"]; 
2

Da Sie die Kontrolle über den Entstehungsprozess zu haben scheinen, um es einen Verweis in einem Wörterbuch setzen.

Alles, was Sie tun müssen, ist es in Ihrem Wörterbuch nachschlagen, anstatt alle Steuerelemente auf dem Formular durchlaufen.

TextBox txt = map ["name"];

Verwandte Themen