Die Community zu .NET und Classic VB.
Menü

FAQ 0103: Wie kann ich Steuerelemente über ihren Namen ansprechen?

 von 

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

Listing 1: Controls enumerieren

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

Listing 2: Beispiel eines Aufrufs

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.