2016-03-20 14 views
0

Der folgende Code zeigt die Mausposition alle 500ms in der Konsole an. Ich versuche herauszufinden, wie man nur die Mausposition zeigt, wenn ein Linksklick passiert. Beispiel für was es jetzt unten tut.Print to Console mit Linksklick C#

enter image description here

public static void MacroMouseThread() 
{ 
    Console.WriteLine("MouseLocation Started"); 

    while (true) 
    { 
     // Shows mouse location cords 
     Console.WriteLine(Cursor.Position.ToString()); 
     Thread.Sleep(500); 
    } 

} 

Ich möchte auf dem Bildschirm auf eine beliebige Stelle nach links und er druckt, um sie ständig kontinuierlich Druck auf die Konsole gegenüber.

Antwort

0

Sie müssen ereignisgesteuerte Programmierung verwenden.

this.MouseClick += mouseClick; 

private void mouseClick(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Left) 
    { 
     Trace.WriteLine("Mouse clicked"); 
     Console.WriteLine(Cursor.Position.ToString()); 
    } 
} 

Ich sehe nicht Ihren ganzen Code, aber Sie bekommen die Idee.

Für weitere Informationen suchen Sie bitte Ereignisgesteuerte Programmierung in C# und Delegaten.

Ein gutes Tutorial: http://www.codeproject.com/Articles/1008553/Event-Driven-Programing-in-NET

+0

Und wie denken Sie, dies in einer Konsole App funktionieren wird? – DavidG

+0

Ich habe nicht gesagt, diesen Code ausführen, ich versuche zu sagen, dass ereignisgesteuerte Programmierung verwendet werden muss. Ich sehe seinen Antrag auch nicht vollständig. – ferit

+0

Ihre Antwort ist völlig Unsinn in einer Konsolen-App, aber es gibt keine Möglichkeit, dies mit reinen Event-Driven-Programmierung zu tun. – DavidG