FAQ 0103: Wie kann ich Steuerelemente über ihren Namen ansprechen?
von Konrad Rudolph
Frage
Wie kann ich Steuerelemente über ihren Namen ansprechen?
Beispiele
Eigentlich sollte dies nicht erforderlich sein; in den meisten Fällen, in denen dies nötig scheint, handelt es sich um Fehler in der Konzeption des Programmes. Allerdings ist es trotzdem möglich, ein Steuerelement über seinen Namen anzusprechen.
Man bedient sich hierfür der Controls-Collection, die ein jedes Container-Steuerelement bereitstellt. Folgende Prozedur sucht ein Steuerelement nach Namen:
Function GetControlByName( _ ByVal Name As String, _ ByVal Parent As Control) As Control For Each Ctl As Control In Parent.Controls If Ctl.Name = Name Then Return Ctl End If Next End Function
Wenn man beispielsweise ein Button "BttClose" auf einer Form (in der sich obige Prozedur befindet) außer Kraft setzen möchte, so geschieht das über den Code:
DirectCast(GetControlByName("BttClose", Me), Button).Enabled = False
Mehr über das Aufzählen von Steuerelementen und Containern findet man in Steuerelemente in einem Container enumerieren [Tipp 0014].
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.