Wenn PictureBox auf ein bestimmen Bereich gelabgt,soll etwas ausgegeben werden

  • VB.NET

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

    Wenn PictureBox auf ein bestimmen Bereich gelabgt,soll etwas ausgegeben werden

    Hallo!

    Ich versuche mich grade an, "Items" innerhalb der Form zu bewegen,das mit Erfolg!

    Nun ist mein Problem :
    Ich möchte,das wenn ein Item über ein bestimmtes Feld gelangt etwas passiert,nur will ich nicht jede Location aufschreiben,sondern direkt ermittel ob ich drauf bin...

    Hoffe Ihr könnt mir helfen!

    Mfg.eniking1998
    Rectangles haben Methoden festzustellen, ob ein anderes Rectangle oder ein Punkt drauf liegen oder nicht.
    Controls haben eine Property ClientRectangle.
    1 + 1 = 2.
    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!

    VB.NET-Quellcode

    1. Dim x As New Rectangle(1, 2, 3, 4)
    Klick auf Rectangle, drück dann F1 und Dir wird geholfen.
    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!
    Edit:
    Hab etwas sehr nützliches gefunden:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Public char1 As New Rectangle
    3. Public hinderniss As New Rectangle
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. char1 = New Rectangle(New Point(0, 100), New Size(100, 100))
    6. hinderniss = New Rectangle(New Point(200, 200), New Size(75, 75))
    7. End Sub
    8. Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    9. Select Case e.KeyCode
    10. Case Keys.Up
    11. If Kollision(New Rectangle(char1.X, char1.Y - 32, char1.Width, char1.Height), hinderniss) = False Then
    12. char1 = New Rectangle(char1.X, char1.Y - 32, char1.Width, char1.Height)
    13. End If
    14. Case Keys.Down
    15. If Kollision(New Rectangle(char1.X, char1.Y + 32, char1.Width, char1.Height), hinderniss) = False Then
    16. char1 = New Rectangle(char1.X, char1.Y + 32, char1.Width, char1.Height)
    17. Else
    18. MsgBox("Hi")
    19. End If
    20. Case Keys.Left
    21. If Kollision(New Rectangle(char1.X - 32, char1.Y, char1.Width, char1.Height), hinderniss) = False Then
    22. char1 = New Rectangle(char1.X - 32, char1.Y, char1.Width, char1.Height)
    23. End If
    24. Case Keys.Right
    25. If Kollision(New Rectangle(char1.X + 32, char1.Y, char1.Width, char1.Height), hinderniss) = False Then
    26. char1 = New Rectangle(char1.X + 32, char1.Y, char1.Width, char1.Height)
    27. End If
    28. End Select
    29. Me.Invalidate()
    30. End Sub
    31. Public Function Kollision(ByVal rec As Rectangle, ByVal obj As Rectangle) As Boolean
    32. Return rec.IntersectsWith(obj) = True
    33. End Function
    34. Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    35. e.Graphics.DrawImage(My.Resources.chr1, char1)
    36. e.Graphics.DrawImage(My.Resources.Hindernisse, hinderniss)
    37. End Sub
    38. End Class


    Nur Jetzt will ich das auf eine PictureBoc beziehn...

    Hoffe auf Hilfen...

    Mfg.eniking1998

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

    enIking1998 schrieb:

    Hab etwas sehr nützliches gefunden:
    Und? Hast Du es verstanden?
    Lässt Du immer andere für Dich Deine Hausaufgaben 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!

    enIking1998 schrieb:

    Wenn mans will klappt es auch...
    Na dann sind ja all Deine Probleme gelöst. :thumbsup:
    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!