管理滑鼠指標 (Windows Forms .NET)
滑鼠指標有時稱為游標,是一種指定畫面上焦點的點陣圖,以便使用滑鼠進行使用者輸入。 本主題提供 Windows Forms 中滑鼠指標的概觀,並說明修改及控制滑鼠指標的一些方式。
存取滑鼠指標
滑鼠指標是由 Cursor 類別表示,且每個 Control 指標都有一個 Control.Cursor 屬性,用來指定該控制項的指標。 Cursor 類別包含描述指標的屬性,例如 Position 和 HotSpot 屬性,以及可以修改指標外觀的方法,例如 Show、Hide 和 DrawStretched 方法。
下列範例會在游標位於按鈕上方時隱藏游標:
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
控制滑鼠指標
有時候,您可能想要限制可以使用滑鼠指標的區域,或變更滑鼠的位置。 您可以使用 Position 的 Cursor 屬性,以取得或設定滑鼠的目前位置。 此外,您可以設定 Clip 屬性來限制可以使用滑鼠指標的區域。 根據預設,裁剪區域是整個畫面。
下列範例會在按一下按鍵時,將滑鼠指標放在兩個按鈕之間:
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
變更滑鼠指標
變更滑鼠指標是向使用者提供意見反應的重要方式。 例如,您可以在 MouseEnter 和 MouseLeave 事件的處理常式中修改滑鼠指標,告知使用者計算正在發生,並限制控制項中的使用者互動。 有時候,滑鼠指標會因為系統事件而變更,例如當您的應用程式涉及拖放功能作業時。
變更滑鼠指標的主要方法是將控制項的 Control.Cursor 或 DefaultCursor 屬性設定為新的 Cursor。 如需變更滑鼠指標的範例,請參閱 Cursor 類別中的程式碼範例。 此外,Cursors 類別會針對許多不同類型的指標公開一組 Cursor 物件,例如類似手部的指標。
下列範例會將按鈕的滑鼠指標游標變更為手形:
button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand
若要在滑鼠指標位於控制項上時顯示類似沙漏的等候指標,請使用 UseWaitCursor 類別的 Control 屬性。