Prüfen, ob a ein Button ist

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Mad Andy.

    Prüfen, ob a ein Button ist

    Hoi

    Ich habe folgenden Code

    VB.NET-Quellcode

    1. For Each a As Control In Me.Controls
    2. AddHandler a.Click, AddressOf Button_Click
    3. Next


    Jetzt will ich eine If einbauen, die abfragt ob a ein Button ist...
    mit

    VB.NET-Quellcode

    1. If a = Button then
    2. '...
    3. End If


    gehts nicht...

    weiß jmd von euch wie das funzt?

    thx
    ~Blay09

    RE: Prüfen, ob a ein Button ist

    Blay09 schrieb:

    Hoi

    Jetzt will ich eine If einbauen, die abfragt ob a ein Button ist...
    mit

    VB.NET-Quellcode

    1. If a = Button then
    2. '...
    3. End If




    probier mal das

    VB.NET-Quellcode

    1. dim c as cotrol
    2. for each c in me.controls
    3. if typeof c is button then
    4. dein zeugs
    5. end if
    6. next



    edit: lupus war schneller :P
    ob dies ein button ist? wenn er nur die Buttons, getten wollte in einer For Each schleife bräuchte er doch nicht alle Controls abfragen und hätte sofort die Buttons gehabt! Dann bäuchte er nicht mehr abfragen ob dies ein button wäre
    tobikubi, bei deinem Code oben ist dir ein kleiner Fehler passiert.. du willst a 2x deklarieren.
    In einer Collection (z.B. Controls) kannst du alle Elemente eines bestimmten Typs filtern, indem du 'a' gleich als das "richtige" deklarierst:

    VB.NET-Quellcode

    1. For each a as Button in Me.Controls
    2. ' hier ist a immer ein Button
    3. Next a


    Wenn du mehrere Schleifen bräuchtest (Geschwindigkeitsnachteil) oder wenn die Variable(n) nicht aus einer Collection kommt/kommen, verwendest du am Besten TypeOf ... Is, wie oben beschrieben.