2016-03-20 21 views
0

Aşağıdaki kod, konsolda her 500 ms'de bir fare konumunu göstermektedir. Sol tıklama yaptığınızda sadece fare pozisyonunu nasıl göstereceğimi anlamaya çalışıyorum. Aşağıda şimdi ne olduğuyla ilgili örnek. Soldaki tıklatmayla Konsola Yazdır C#

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

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

} 

enter image description here

Ben ekranda herhangi bir yere tıklayın sola istiyoruz ve sürekli sürekli baskı o buna karşı konsola yazdırır.

cevap

0

Olay odaklı programlama kullanmanız gerekir.

this.MouseClick += mouseClick; 

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

Tüm kodunuzu göremiyorum, ancak siz bu fikri anladınız.

Daha fazla okumak için lütfen C# ve Delegates'te Olay Driven Programlama içinde arama yapın.

İyi öğretici: http://www.codeproject.com/Articles/1008553/Event-Driven-Programing-in-NET

+0

Bunu nasıl bir konsol uygulaması işe yarayacak mı sence? – DavidG

+0

Bu kodu çalıştır demedim, olay odaklı programlamanın kullanılması gerektiğini söylemeye çalışıyorum. Başvurusunu da tam olarak göremiyorum. – ferit

+0

Bir konsol uygulamasında cevabınız tamamen saçmalık olsa da, saf olay odaklı programlama ile bunu yapmanın bir yolu yoktur. – DavidG