2016-03-20 128 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