Funktion fuer ein Button

  • VB.NET

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

    Funktion fuer ein Button

    hallo

    ich moechte gerne eine funktion erstellen aber weis nicht wie ich es machen soll
    ich hab in einer form mehrere buttons und mochte dass wenn ich mit der maus uber einem button gehe dass folgende passiert

    VB.NET-Quellcode

    1. Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter
    2. bsh = Button1.Size.Height
    3. bsw = Button1.Size.Width
    4. bsx = Button1.Location.X
    5. bsy = Button1.Location.Y
    6. Button1.Size = New Size(bsh + 10, bsw + 10)
    7. Button1.Location = New Point(bsx - 5, bsy - 5)
    8. End Sub


    wenn ich den button verlasse passiert das

    VB.NET-Quellcode

    1. Private Sub Button1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave
    2. Button1.Size = New Size(bsh, bsw)
    3. Button1.Location = New Point(bsx, bsy)
    4. End Sub


    ich moechte aber nicht diesen code in jedem button rein schreiben

    kann mir da jemand helfen???

    danke
    Schäm dich nicht "Zu fragen", schäm dich "Nicht zu wissen". ?(
    hallo

    ich hab was gefunden und etwas selber ausprobiert und bin auf folgendes gekommen

    VB.NET-Quellcode

    1. Private Sub MyEventRoutine(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter, Button2.MouseEnter, Button3.MouseEnter, Button4.MouseEnter, Button5.MouseEnter
    2. Dim myButton As Button = sender
    3. bname = myButton.Name
    4. If bname = "Button1" Then
    5. bsh = Button1.Size.Height
    6. bsw = Button1.Size.Width
    7. bsx = Button1.Location.X
    8. bsy = Button1.Location.Y
    9. Button1.Size = New Size(bsw + 10, bsh + 10)
    10. Button1.Location = New Point(bsx - 5, bsy - 5)
    11. ElseIf bname = "Button2" Then
    12. bsh = Button2.Size.Height
    13. bsw = Button2.Size.Width
    14. bsx = Button2.Location.X
    15. bsy = Button2.Location.Y
    16. Button2.Size = New Size(bsw + 10, bsh + 10)
    17. Button2.Location = New Point(bsx - 5, bsy - 5)
    18. ElseIf bname = "Button3" Then
    19. bsh = Button3.Size.Height
    20. bsw = Button3.Size.Width
    21. bsx = Button3.Location.X
    22. bsy = Button3.Location.Y
    23. Button3.Size = New Size(bsw + 10, bsh + 10)
    24. Button3.Location = New Point(bsx - 5, bsy - 5)
    25. ElseIf bname = "Button4" Then
    26. bsh = Button4.Size.Height
    27. bsw = Button4.Size.Width
    28. bsx = Button4.Location.X
    29. bsy = Button4.Location.Y
    30. Button4.Size = New Size(bsw + 10, bsh + 10)
    31. Button4.Location = New Point(bsx - 5, bsy - 5)
    32. ElseIf bname = "Button5" Then
    33. bsh = Button5.Size.Height
    34. bsw = Button5.Size.Width
    35. bsx = Button5.Location.X
    36. bsy = Button5.Location.Y
    37. Button5.Size = New Size(bsw + 10, bsh + 10)
    38. Button5.Location = New Point(bsx - 5, bsy - 5)
    39. End If
    40. End Sub
    41. Private Sub MyEventRoutine2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave, Button2.MouseLeave, Button3.MouseLeave, Button4.MouseLeave, Button5.MouseLeave
    42. If bname = "Button1" Then
    43. Button1.Size = New Size(bsw, bsh)
    44. Button1.Location = New Point(bsx, bsy)
    45. ElseIf bname = "Button2" Then
    46. Button2.Size = New Size(bsw, bsh)
    47. Button2.Location = New Point(bsx, bsy)
    48. ElseIf bname = "Button3" Then
    49. Button3.Size = New Size(bsw, bsh)
    50. Button3.Location = New Point(bsx, bsy)
    51. ElseIf bname = "Button4" Then
    52. Button4.Size = New Size(bsw, bsh)
    53. Button4.Location = New Point(bsx, bsy)
    54. ElseIf bname = "Button5" Then
    55. Button5.Size = New Size(bsw, bsh)
    56. Button5.Location = New Point(bsx, bsy)
    57. End If
    58. End Sub



    so hab ich alles in 2 subs rein getan anstatt in jedes button mouse enter und mouse leave
    aber ich kann sicher noch diesen code kuerzen kann mir da jemand ein rat geben?

    danke
    Schäm dich nicht "Zu fragen", schäm dich "Nicht zu wissen". ?(
    ich habs geschafft

    ist noch einfacher als ich gedacht hatte

    VB.NET-Quellcode

    1. Private Sub MyEventRoutine(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter, Button2.MouseEnter, Button3.MouseEnter, Button4.MouseEnter, Button5.MouseEnter, Button6.MouseEnter, Button7.MouseEnter, Button8.MouseEnter, Button9.MouseEnter
    2. Dim myButton As Button = sender
    3. bsh = myButton.Size.Height
    4. bsw = myButton.Size.Width
    5. bsx = myButton.Location.X
    6. bsy = myButton.Location.Y
    7. myButton.Size = New Size(bsw + 10, bsh + 10)
    8. myButton.Location = New Point(bsx - 5, bsy - 5)
    9. End Sub
    10. Private Sub MyEventRoutine2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.MouseLeave, Button2.MouseLeave, Button3.MouseLeave, Button4.MouseLeave, Button5.MouseLeave, Button6.MouseLeave, Button7.MouseLeave, Button8.MouseLeave, Button9.MouseLeave
    11. Dim myButton As Button = sender
    12. myButton.Size = New Size(bsw, bsh)
    13. myButton.Location = New Point(bsx, bsy)
    14. End Sub


    danke leute
    Schäm dich nicht "Zu fragen", schäm dich "Nicht zu wissen". ?(