Maus auf Button, Bild erscheint

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Renate_Eilhoff.

    Maus auf Button, Bild erscheint

    Hallo ich habe mal eine Frage an euch.
    Also wenn ich mit der Maus über den Button fahre soll ein Bild erscheinen.
    Wie kann ich das umsetzten? ALso ich möchte nicht, dass sich eine Form erschient..
    Kann ich dies mit einer Picturebox machen?
    Sobald ich mit der Maus wieder "Wegfahre" soll das Bild auch wieder verschwinden.
    In den Eig3enschaften von Button gibt es ja Cursor, kann ich es darüber machen?

    Danke für eure Hilfe
    also wenn du es mit einem OpenFileDialog machen willst, würde es so ausschauen:

    VB.NET-Quellcode

    1. Private Sub ofdBildZurFormel_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ofdBildZurFormel.FileOkDim path As String = ofdBildZurFormel.FileName
    2. PictureBox1.BackgroundImage = Drawing.Bitmap.FromFile(path)
    3. End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. ofdBildZurFormel.ShowDialog()
    5. End Sub
    ODer so ?

    VB.NET-Quellcode

    1. Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
    2. Button1.BackgroundImage = Image.FromFile("C:\deinBild.jpg")
    3. End Sub
    4. Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
    5. Button1.BackgroundImage = Nothing
    6. End Sub

    So erscheint als Button HG Bild ein Bild deiner wahl wenn du mit der maus drüber "fährst" :)
    Das ist meine Signatur und sie wird wunderbar sein!
    Sie meint doch, das einfach ein PopUp Bild erscheint.

    Ein Cursor ist eine Schlechte Lösung, da du das Bild als *.cur oder *.ico in deinen Resourcen brauchst.
    Außerdem werden nur Icons bis 256 x 256 Pixel und 256 Farben unterstützt.

    Ich würde eine Rahmenlose Form erstellen und in deren Load-Event das BackgroundImage setzen.
    Die Position kann man natürlich auch übergeben.

    Du musst die entsprechenden Variablen halt als "Friend" deklarieren, damit sie in deiner Hauptform auch sichtbar sind.

    VB.NET-Quellcode

    1. Friend bgi As Image
    2. Friend loc As Point
    3. Private Sub PicFormLoad(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Me.BackgroundImage = bgi
    5. Me.Location = loc
    6. End Sub
    hey erstmal vielen dank für die super Antworten!

    Habe mal die Verison von Mono umgesetzt und es funktiert!
    Wie kann ich es jetzt noch umsetzten, dass das Bild weiter rechts erscheint?
    Da es genau auf dem button erscheint
    BackgroundImage.LOcation gibt es nicht.. was muss ich verwenden?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Renate_Eilhoff“ ()

    Naja mit der Lösung von Mono wirst du das nicht schaffen, weil du da ja den Hintergrund von dem Button änderst. ^^
    Und ein Hintergrund von einem Objekt neben den Objekt darstellen = Unmöglich.

    Du könntest aber anstatt den Hintergrund des Buttons zu ändern einfach eine PictureBox neben den Button erstellen und dann da drin das Bild anzeigen lassen.