Sdílet prostřednictvím


Správa ukazatelů myši (Windows Forms .NET)

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ší. Toto téma 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 omezit oblast, ve které lze použít ukazatel myši, nebo změnit umístění myši. Aktuální umístění myši můžete získat nebo nastavit pomocí vlastnosti PositionCursor. Kromě toho můžete nastavením vlastnosti Clip omezit oblast, ve které lze použít ukazatel myši. 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 při 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. Ukazatel myši se někdy změní z důvodu systémových událostí, například když je aplikace zapojena do operace přetažení.

Primárním způsobem, jak změnit ukazatel myši, je nastavit vlastnost 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

Pokud chcete zobrazit ukazatel čekání podobající se přesýpacím hodinám pokaždé, když je ukazatel myši na ovládacím prvku, použijte vlastnost UseWaitCursor třídy Control.

Viz také