Linke Maustaste Gedrückt halten

  • VB.NET

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

    Linke Maustaste Gedrückt halten

    Hallo
    Ich habe ein problem, dass ich einfach nicht gelöst bekomme. Ich habe schon stundenlang gesucht und immernoch nicht das richtige gefunden. Ich möchte, dass wenn man die Linke Maustaste gedrückt hält, dass dann die linke Maustaste solange gedrückt wird, bis ich die taste loslasse. Ich hab's schon geschaffen, wenn eine Taste auf der Tastatur gedrückt wird, dass dann die linke Maustaste gedrückt wird jedoch schaffe ich es nicht, dass mit der linke maustaste zu machen.
    Ich hoffe meine Frage war verständlich und hoffe auf antworten :s
    guten morgen ^^

    hab ich dich richtig verstanden

    du willst wenn du ne taste drückst

    z.b. die "STRG" Taste und dann die linke maustaste das die linke maustaste dauerhaft gedrückt bleibt bis mann die "STRG" taste loslässt?

    lg datsspeed :D
    Ich hoffe ich habe dich ganz richtig verstanden...

    VB.NET-Quellcode

    1. Dim MouseIsDown As Boolean = False
    2. Private Sub Form1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
    3. If e.Button = Windows.Forms.MouseButtons.Left Then
    4. MouseIsDown = True
    5. End If
    6. End Sub
    7. Private Sub Form1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
    8. If e.Button = Windows.Forms.MouseButtons.Left Then
    9. MouseIsDown = False
    10. End If
    11. End Sub
    12. Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
    13. If MouseIsDown Then
    14. 'Was du hier machen willst ist deine Sache (zb Fenster schließen)
    15. Me.Close()
    16. End If
    17. End Sub
    Ich hoffe ich habe dich ganz richtig verstanden...

    VB.NET-Quellcode

    1. Dim MouseIsDown As Boolean = False
    2. Private Sub Form1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
    3. If e.Button = Windows.Forms.MouseButtons.Left Then
    4. MouseIsDown = True
    5. End If
    6. End Sub
    7. Private Sub Form1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
    8. If e.Button = Windows.Forms.MouseButtons.Left Then
    9. MouseIsDown = False
    10. End If
    11. End Sub
    12. Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
    13. If MouseIsDown Then
    14. 'Was du hier machen willst ist deine Sache (zb Fenster schließen)
    15. Me.Close()
    16. End If
    17. End Sub
    Danke für deine Antwort, das ist aber auch nicht das richtige^^
    Ich hab eigentlich schon das richtige nur hab ich vergessen es zu posten.

    Hier mein bisheriger code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cbuttons As Long, ByVal dwExtraInfo As Long)
    3. Private Const LEFTDOWN = &H2
    4. Private Const LEFTUP = &H4
    5. Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Int32) As Short
    6. Private Sub links()
    7. mouse_event(LEFTDOWN, 0, 0, 0, 0)
    8. mouse_event(LEFTUP, 0, 0, 0, 0)
    9. End Sub
    10. Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    11. If GetAsyncKeyState(Keys.LButton) Then
    12. links()
    13. End If
    14. End Sub
    15. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    16. Button1.Text = Button1.Text + 1
    17. End Sub
    18. End Class


    Es klappt auch alles mit anderen keys nur nicht mit der linken Maustaste, denn er lässt sie nicht wieder los und da ist das problem.
    Falls es fragen zum code gibt bitte stellen ;)