Es gibt immer wieder Situationen, in denen man Controls ansprechen möchte, von denen man lediglich ein bestimmtes Attribut kennt.
Dies ist noch relativ einfach, wenn man beispielsweise den Namen kennt. Will man beispielsweise allen Textboxen deren Namen beispielsweise Textbox1, Textbox2 … lautet, so kann man dies mittels
Controls dynamisch ansprechen
Erläuterungen:
- Die Schleife 
For i As Integer = 1 To 10wiederholt sich zehn Mal, mitivon 1 bis 10. - In jedem Durchgang der Schleife wird versucht, ein Steuerelement (Control) auf der Form zu finden, dessen Name der Konvention 
TextboxXfolgt, wobeiXder laufenden Nummer entspricht. Me.Controls("Textbox" & i)greift auf die Controls-Sammlung der Form zu und sucht nach einem Control mit dem spezifizierten Namen.- Es wird eine Typüberprüfung durchgeführt, um sicherzustellen, dass das gefundene Control tatsächlich eine 
TextBoxist. Dies verhindert Laufzeitfehler, falls kein Control mit dem angegebenen Namen gefunden wird oder das Control ein anderer Steuerelementtyp ist. - Der Text des Textfelds wird dann auf den aktuellen Wert von 
igesetzt. 
Komplizierter wird es, wenn man die Controls nicht anhand ihres Namens ansprechen will, sondern aufgrund bestimmter Eigenschaften erst suchen muss. Will man beispielsweise alle Controls mit einem bestimmten Tag ansprechen, so geht das nur, wenn man alle Controls durchläuft.Dies könnte man beispielsweise so realisieren
Textfeld mittels Tag ansprechen
Erläuterung des Codes:
- Die Funktion nimmt ein 
Form-Objekt (myForm) und einen String (strTag) als Parameter. - Sie durchläuft alle Steuerelemente (
Controls) auf der übergebenen Form. - Für jedes Steuerelement wird überprüft, ob es vom Typ 
TextBoxist und ob seinTag-Attribut mit dem gesuchten String (strTag) übereinstimmt. - Wird ein passendes 
TextBoxgefunden, wird es als Rückgabewert der Funktion zurückgegeben. - Falls kein entsprechendes 
TextBoxgefunden wird, gibt die FunktionNothingzurück. 
Achtung:
Dies funktioniert nicht, wenn die Controls bestandteile anderer Controls sind. Auch wenn man Me.Textbox1 direkt ansprechen kann, kann es sein, dass es sich beispielsweise um eine Textbox in einem Panel oder in einer Groupbox handelt. Dann kann man sie nicht auf diese Methoden ansprechen.
Aber auch für diesen Fall gibt es eine Lösung: (die selbe Funktion, die sich rekursiv aufruft)
Erläuterung des Codes:
- Die Funktion 
getTextboxByNamenimmt ein Objekt (myObject), dasControlsenthält, und einen String (strName) als Parameter. - Sie durchläuft alle Steuerelemente (
Controls) inmyObject. - Für jedes Steuerelement wird überprüft, ob es vom Typ 
TextBoxist und ob seinName-Attribut mit dem gesuchten String (strName) übereinstimmt. - Wird ein 
TextBoxmit dem entsprechenden Namen gefunden, wird es zurückgegeben. - Falls das aktuelle Steuerelement kein 
TextBoxist oder nicht den gesuchten Namen hat, wird die Funktion rekursiv aufgerufen, um auch in untergeordneten Steuerelementen zu suchen. - Falls kein entsprechendes 
TextBoxgefunden wird, gibt die FunktionNothingzurück. 







