Button Background Picture

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Takafusa.

    Button Background Picture

    Juhu zusammen...
    Bin gerade ein bischen blöde auf meinen Bildschirm am gucken...
    Schon fast lächerlich...

    Habe einen Button wo ich durch einen Klick das Button-Backgrund Image ändern möchte.
    Wieso klappt das nicht ?

    VB.NET-Quellcode

    1. ​Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. If Button1.BackgroundImage Is My.Resources.Icon_Button_An Then
    3. Button1.BackgroundImage = My.Resources.Icon_Button_Aus
    4. Else
    5. Button1.BackgroundImage = My.Resources.Icon_Button_An
    6. End If
    7. End Sub
    Hey,

    Habe nun das hier probiert und es klappt. Hatte erst aber auch genau dein Problem, bis ich die Deklarationen der Bitmaps außerhalb des Buttons gelegt habe:

    VB.NET-Quellcode

    1. Dim AN = New Bitmap(My.Resources.an)
    2. Dim AUS = New Bitmap(My.Resources.aus)
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. If (Button1.BackgroundImage Is Nothing) Then
    5. Button1.BackgroundImage = AN
    6. ElseIf Button1.BackgroundImage Is AN Then
    7. Button1.BackgroundImage = AUS
    8. ElseIf Button1.BackgroundImage Is AUS Then
    9. Button1.BackgroundImage = AN
    10. End If
    11. End Sub


    Ich schätze durch das kontinuierliche Neu-Erstellen der Bitmap ohne zu disposen gibt es hier Überläufe.


    Meine Website:
    www.renebischof.de

    Meine erste App (Android):
    PartyPalooza

    VB.NET-Quellcode

    1. Private ReadOnly An As Drawing.Bitmap = My.Resources.An
    2. Private ReadOnly Aus As Drawing.Bitmap = My.Resources.Aus
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. If Button1.BackgroundImage Is An Then
    5. Button1.BackgroundImage = Aus
    6. Else
    7. Button1.BackgroundImage = An
    8. End If
    9. End Sub
    funktioniert bei mir super, wenn der Button im Designer mit Aus vorbelegt wird.

    Otti schrieb:

    und schon geht es nicht mehr
    Will konkret heißen? Wie sieht jetzt Dein Code aus? Was sagen die Bedingung in Zeile#5, wenn Du Haltepunkte in Z#6 und #7 setzt? Kommt der Compiler in beiden Zeilen an?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    So find ich es besser, ohne extra Variable in der Klasse selbst.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. static flag as boolean = true 'false, wenn an sein soll, wegen, siehe nächste Zeile, alternativ flag am ende der sub ändern
    3. flag = not flag
    4. If flag Then
    5. Button1.BackgroundImage = My.Resources.an
    6. Else
    7. Button1.BackgroundImage = My.Resources.aus
    8. End If
    9. End Sub