Button Background Image wird falsch angezeigt

  • VB.NET

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

    Button Background Image wird falsch angezeigt

    Hi,

    Ich habe einen StartStop Button mit dem ich ein Video im Wechsel starte und anhalte. Wie üblich zeigt der Button ein Image, das sich dynamisch ändert:

    Pfeil, wenn das Video gestartet werden soll

    Doppelstrich, wenn das Video angehalten werden soll

    Das Image mit dem Pfeil wird per Designer mit BackgroundImageLayout.Zoom voreingestellt. Und da sieht es auch ganz vernünftig aus !

    (s. Anhang)

    So habe ich den Wechsel des Image kodiert:

    VB.NET-Quellcode

    1. cmdStartPause.Image = If(Timer1.Enabled, My.Resources.VideoStop, My.Resources.VideoStart)


    Das funktioniert auch alles ganz wunderbar. Nur wird die Sache mit dem "Zoom" nicht richtig durchgeführt. Wenn das Image per Code neu geladen wurde, dann ist es zu groß.

    (s. Anhang)

    Ich habe versucht, die Zoom Eigenschaft vor und auch nach dem Laden nochmal zu setzen. Das bringt leider überhaupt nix.

    Was mache ich denn falsch ?

    LG
    Peter
    Bilder
    • s 2020-05-28 09-31-043.jpg

      31,68 kB, 707×430, 54 mal angesehen
    • s 2020-05-28 09-29-320.jpg

      2,77 kB, 176×78, 94 mal angesehen
    @Peter329 Das sieht mir eher nach einer ImageCheckBox aus, mach da ein eigenes einfaches Control draus.
    Nimm ne ImageList mit Deinen beiden Bildern, weise diese der CheckBox zu und ändere den ImageIndex entspfrechend dem CheckState:
    stackoverflow.com/questions/14…age-as-checkbox-state-box
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Peter329 Eine CheckBox kannst Du als Button darstellen:

    VB.NET-Quellcode

    1. .Appearance = Button
    2. .Text = ""
    Das kannst Du auch alles im Designer machen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Kurzer Einwurf:
    nicht cmdStartPause.Image festlegen, sondern cmdStartPause.BackgroundImage
    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.
    Kurze Anwort: völlig richtig ! :)

    Iss ja klar .... BackgroundImageLayout steht auf .Zoom ... ! Und deswegen kommt das bei .Image nicht zum Tragen. OmG, da hab ich aber auf dem Schlauch gestanden ! :)