Sdílet prostřednictvím


Správa ukazatelů myši

Ukazatel myši , který se někdy označuje jako kurzor, je rastrový obrázek, který určuje bod fokusu na obrazovce pro uživatelský vstup myší. Tento článek obsahuje přehled ukazatele myši ve Windows Forms a popisuje některé způsoby, jak změnit a řídit ukazatel myši.

Přístup k ukazateli myši

Ukazatel myši je reprezentován Cursor třídy a každý Control má vlastnost Control.Cursor, která určuje ukazatel pro daný ovládací prvek. Třída Cursor obsahuje vlastnosti, které popisují ukazatel, například Position a HotSpot vlastnosti, a metody, které mohou změnit vzhled ukazatele, například Show, Hidea DrawStretched metody.

Následující příklad skryje kurzor, když je kurzor nad tlačítkem:

private void button1_MouseEnter(object sender, EventArgs e) =>
    Cursor.Hide();

private void button1_MouseLeave(object sender, EventArgs e) =>
    Cursor.Show();
Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
    Cursor.Hide()
End Sub

Private Sub Button1_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
    Cursor.Show()
End Sub

Řízení ukazatele myši

Někdy můžete chtít změnit umístění myši nebo omezit ukazatel myši na konkrétní oblast. Pomocí vlastnosti můžete získat nebo nastavit aktuální umístění myši Cursor.Position . Můžete také omezit oblast dostupnou pro ukazatel myši nastavením Clip vlastnosti. Oblast výřezu je ve výchozím nastavení celá obrazovka.

Následující příklad umístí ukazatel myši mezi dvě tlačítka po kliknutí:

private void button1_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button2.Location);

private void button2_Click(object sender, EventArgs e) =>
    Cursor.Position = PointToScreen(button1.Location);
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    PointToScreen(Button2.Location)
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    PointToScreen(Button1.Location)
End Sub

Změna ukazatele myši

Změna ukazatele myši je důležitým způsobem, jak uživateli poskytnout zpětnou vazbu. Ukazatel myši lze například upravit v obslužných rutinách MouseEnter a MouseLeave událostí, aby uživateli řekl, že výpočty probíhají a že se v ovládacím prvku omezují interakce uživatele. Někdy se ukazatel myši změní z důvodu systémových událostí, například když je aplikace zapojena do operace přetažení myší.

Primární způsob, jak změnit ukazatel myši, je nastavení vlastnosti Control.Cursor nebo DefaultCursor ovládacího prvku na nový Cursor. Příklady změny ukazatele myši najdete v příkladu kódu ve třídě Cursor. Kromě toho Cursors třída zveřejňuje sadu Cursor objektů pro mnoho různých typů ukazatelů, například ukazatel, který se podobá ruce.

Následující příklad změní kurzor ukazatele myši pro tlačítko na ruku:

button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand

Pokaždé, když je ukazatel myši na ovládacím prvku, zobrazte ukazatel čekání, který se podobá přesýpacím hodinám, pomocí vlastnosti UseWaitCursor třídy Control.

Viz také