2012-06-18 13 views
5

Potrzebuję uzyskać rozmiar prostokąta klasycznego kursora okna.Jak uzyskać rozmiar kursora w C#

Jak mogę uzyskać rozmiar kursora wC#?

+0

dla WPF można zobaczyć: http://stackoverflow.com/questions/8038853/how-can- i-determin-kursor-rozmiar-w-wpf –

Odpowiedz

9

Można użyć Cursor.Size:

int cursorWidth = Cursor.Size.Width; 
int cursorHeight = Cursor.Size.Height; 

Tak, to naprawdę proste!

Mam nadzieję, że to pomoże!

+0

Rozmiar kursora NIE jest faktycznym rozmiarem kursora. to rozmiar obrazu. Rozmiar kursora wynosi domyślnie 32x32, ale rzeczywisty kursor wizualny to 16x20 – Franck

+0

Korekta rozmiaru to 13x20 – Franck

2

Mały przykład: Reference

 if(this.Cursor != Cursors.Hand & 
     Cursor.Current == Cursors.Default) 
     { 
      // Draw the cursor stretched. 
      Graphics graphics = this.CreateGraphics(); 
      Rectangle rectangle = new Rectangle(
      new Point(10,10), new Size(cursor.Size.Width * 2, 
      cursor.Size.Height * 2)); 
      cursor.DrawStretched(graphics, rectangle); 


     // Draw the cursor in normal size. 
     rectangle.Location = new Point(
     rectangle.Width + rectangle.Location.X, 
     rectangle.Height + rectangle.Location.Y); 
     rectangle.Size = cursor.Size; 
     cursor.Draw(graphics, rectangle); 

     // Dispose of the cursor. 
     cursor.Dispose(); 
    } 
+0

To jest dużo kodu, aby pokazać jak używać 'cursor.Size.Width/Height' – Default

+0

@Default: hmm ... true –

+0

Jeśli mogę zaproponować, to albo wytłumaczyłbym, dlaczego masz tyle kodu, albo go zminimalizujesz (ponieważ jest to dobry przykład, jeśli chcesz pokazać faktyczne użycie 'Cursor.Size') – Default

Powiązane problemy