VB MousePosition in PictureBox

06/21/2013 19:56 jan25ish#1
Hi.
Ich wüsste jetzt nicht wie ich das anders erklären könnte :D
Wenn man sich die picturebox als desktop vorstellen würde, und dann auf die picturebox klickt, dass man dann die mouseposition bekommen würde. Aber die box ist kleiner als der desktop. Ich habe mir über drei stunden den kopf zerbrochen aber keine lösung gefunden:(. Könntet ihr mir helfen?

Also ich meine das man sich die picbox als verkleinerter desktop vorstellt. Wenn man dann auf die box klickt dannbekommt man die mouseposition wie sie auf dem großem desktop wäre.
06/21/2013 20:22 Ludder231#2
gibts nicht einfach ne position von der Maus? Also es gibt ein picturebox event mit Picturebox click und dann die X,Y Pos von der Maus. Musst mal googlen
06/21/2013 20:22 xoreaxeax#3
Code:
Public Class Form1

    Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        MessageBox.Show("Drei Stunden??")
    End Sub
End Class
06/21/2013 20:24 Ludder231#4
Quote:
Originally Posted by xoreaxeax View Post
Code:
Public Class Form1

    Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        MessageBox.Show("Drei Stunden??")
    End Sub
End Class
Die Mausposition fehlt :D Das war doch sein Hauptproblem denk ich mal...
PHP Code:
 Label1.Text "X." e.vbCrLf "Y." e.
Vllt. gehts so.
Sonst(Nur in der Form):
PHP Code:
 Private Sub Form1_MouseMove(ByVal sender As ObjectByVal e As System.Windows.Forms.MouseEventArgsHandles MyBase.MouseMove
        Label1
.Text "X." e.vbCrLf "Y." e.Y
        
    End Sub 
Sonst: [Only registered and activated users can see links. Click Here To Register...]
06/21/2013 20:26 »Barney«#5
Code:
protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            base.OnDoubleClick(e);
 
            int x = e.X, y = e.Y;
            var button = e.Button;
        }
06/21/2013 20:38 xoreaxeax#6
:facepalm:

Code:
Public Class Form1

    Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        MessageBox.Show(Cursor.Position.ToString)
    End Sub
End Class
06/21/2013 20:59 »Barney«#7
Quote:
Originally Posted by xoreaxeax View Post
:facepalm:

Code:
Public Class Form1

    Private Sub PictureBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
        MessageBox.Show(Cursor.Position.ToString)
    End Sub
End Class
that's not what he asked, the cursor might be moved before the event is fired
06/22/2013 09:21 jan25ish#8
Danke Ludder habs jetzt endlich raus ;D
06/22/2013 20:35 Ludder231#9
Quote:
Originally Posted by jan25ish View Post
Danke Ludder habs jetzt endlich raus ;D
Wäre gut wenn du deine Lösung posten würdest für user die das später auch mal wissen wollen :)
06/23/2013 14:41 jan25ish#10
Also ich habe noch ne PictureBox2 erstellt die 1;1 groß ist und Visible = False.
Die PictureBox2 wird da positioniert, wo man mit der Maus hinklickt.

Code:
Private Sub PictureBox1_MouseMove(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseMove
        Label1.Text = "X." & "%" & e.X & "%" & "Y." & "%" & e.Y
End Sub

Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        Dim screen As New Rectangle
        screen.Width = PictureBox1.Width
        screen.Height = PictureBox2.Height

        PictureBox2.Left = Label1.Text.Split("%")(1)
        PictureBox2.Top = Label1.Text.Split("%")(3)

        TextBox1.Text = PictureBox2.Left
        TextBox2.Text = PictureBox2.Top
End Sub
06/23/2013 17:49 Requi#11
Code:
 player.Location = New Point(Me.PointToClient(MousePosition))
Meinst du das? Der nimmt die koordinaten aus der form und nicht die vom kompletten display