Hallo erstmal, ich bin neu im Forum und hauptsächlich wegen einer Denkblockade oder eines komplexeren Problemes hier.
Ich zeige euch erstmal einen Code Ausschnitt:
If Spieleramzug = 1 And Einheit_setzen_1 = 0 And e.Button = Windows.Forms.MouseButtons.Left Then
Dim newPictureBox As PictureBox = New PictureBox()
For Each temp As PictureBox In Liste
If Cursor.Position.X > temp.Location.X And
Cursor.Position.X < temp.Location.X + 16 And
Cursor.Position.Y > temp.Location.Y And
Cursor.Position.Y < temp.Location.Y + 16 Then
Befehlsfenster.ShowDialog()
Exit For
Else
End If
Next
End If
Kurze Erklärung: Ich will mit meinem Cursor eine Picturebox anklicken die während des Ausführens erst generiert wird, ich schreibe sie zudem in eine Arrayliste um alle Pictureboxen die erstellt wurden zu speichern.
Die Zeile
If Spieleramzug = 1 And Einheit_setzen_1 = 0 And e.Button = Windows.Forms.MouseButtons.Left Then
ist unwichtig, ich habe die Bedingungen bereits überprüft, sie funktionieren zu 100%.
Wo es allerdings hakt ist dieser Teil:
Dim newPictureBox As PictureBox = New PictureBox()
For Each temp As PictureBox In Liste
If Cursor.Position.X > temp.Location.X And
Cursor.Position.X < temp.Location.X + 16 And
Cursor.Position.Y > temp.Location.Y And
Cursor.Position.Y < temp.Location.Y + 16 Then
MsgBox "Test"
Exit For
Else
End If
Hier werden die Koordinaten überprüft, textlich ausgedrückt:
Befindet sich die Cursorposition auf der linken Grenze der im Array vorliegenden Bilder bishinzu dem rechten Rand (16pixel breit)
und der die obere und untere grenze sind ebenfalls außerhalb des Cursors (also der Cursor muss IN der picturebox liegen) so wird eine messagebox ausgegeben.
Dummerweise funktioniert das ganze nicht wie ich will und wenn ich die ANDS durch ORS ersetze dann taucht die messagebox auch auf wenn ich nicht innerhalb der grenzen bin.
Gibt es hierfür eine Lösung oder einen besseren Ansatz?
Danke im Vorraus =D
christopher.g Überflieger
Anmeldedatum: 03.05.2008 Beiträge: 565
Verfasst am: 01.02.2011, 08:11
stelle deine frage mal auf vb-paradise.de
dort sind sehr viele sehr erfahren vb.net user
wenn dir wo geholfen werden kann
dann dort