2016-03-20 94 views
0

下面的代码显示每500ms在控制台中的鼠标位置。我正试图弄清楚如何在左击发生时只显示鼠标位置。 它现在在下面做的例子。左击打印到控制台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); 
    } 

} 

我要离开的任意位置单击屏幕上,并打印到控制台反对它,它不断的连续打印。

回答

0

您需要使用事件驱动的编程。

this.MouseClick += mouseClick; 

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

我看不到你的整个代码,但你明白了。

如需进一步阅读,请在C#和代表中搜索事件驱动的编程。

一个很好的教程:http://www.codeproject.com/Articles/1008553/Event-Driven-Programing-in-NET

+0

您怎么认为这将在一个控制台应用程序工作吗? – DavidG

+0

我没有说过运行这段代码,我试图说事件驱动的编程必须被使用。我也没有看到他的申请。 – ferit

+0

你的答案在控制台应用程序中完全是无稽之谈,但是,纯粹的事件驱动编程没有办法做到这一点。 – DavidG