Cursor auf bestimmtem element setzen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Ganjin.

    Cursor auf bestimmtem element setzen

    Hallo,

    Ich möchte den cursor auf ein bestimmtes element setzen lassen also auf die position.
    Wie geht das?
    Habe es mit

    VB.NET-Quellcode

    1. Windows.Forms.Cursor.Position = Button1.Location

    Doch da wird der cursor iwo anderst hin gesetzt.

    Grüße
    Nunja weil die Locationangaben des Buttons Relativ sind. Ist also der Button z.B. in einem Panel oder GroupBox ziemlich am oberen und linken Rand wird Top ~ 5 und Left ~ 5 sein. Du musst die Locationangaben der ParentControls mit beachten. Denn ich denke mal Cursor.Position erwartet Absoluteangaben.

    Edit: Mal getestet und JA er erwartet Absolutangaben. Heißt also wenn der Button DIREKT auf deiner Form ist:

    VB.NET-Quellcode

    1. Dim x As Integer = Form1.Left + Button1.Left + (Button1.Width / 2)
    2. Dim y As Integer = Form.Top + Button1.Top + (Button1.Height / 2)
    3. Windows.Forms.Cursor.Position = New Drawing.Point(x,y)


    Dieser Code sollte die den Mauszeiger mittig auf den Button legen!
    Ja also wenn der button auf 70x 40y ist, wird die mouse auf 70x 40y der totalen desktop auflösung gesetzt und nicht der der form.
    habs, hier für andere die das eventuell brauchen:

    VB.NET-Quellcode

    1. Private Sub CenterCursorOverButton(ByRef btn As Button)
    2. Dim p As New Point
    3. p.X = btn.Left + (btn.Width \ 2)
    4. p.Y = btn.Top + (btn.Height \ 2)
    5. Cursor.Position = Me.PointToScreen(p)
    6. End Sub
    7. 'Aufrufen
    8. Call CenterCursorOverButton(button1)

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