DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

フォームやコントロールのマウスポインタ(カーソル)を消す

静的メソッドのCursor.Hideメソッドを呼び出すことで、マウスポインタ(カーソル)を消すことができます。この時カーソルが消えるのはカーソルがアプリケーションのフォームまたはコントロールの上にある時だけで、カーソルがアプリケーションの外に出ると表示されます。また、カーソルは消えるだけで、クリックなどの操作はできます。

Cursor.Hideメソッドで消したカーソルは、Cursor.Showメソッドで再び表示することができます。

以下の例では、PictureBox1の上にカーソルがある時にカーソルを消すようにしています。

VB.NET
コードを隠すコードを選択
'PictureBox1のMouseEnterイベントハンドラ
Private Sub PictureBox1_MouseEnter(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter

    'PictureBox1内でカーソルを非表示にする 
    System.Windows.Forms.Cursor.Hide()
End Sub

'PictureBox1のMouseLeaveイベントハンドラ
Private Sub PictureBox1_MouseLeave(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave

    'PictureBox1から出たらカーソルを表示にする 
    System.Windows.Forms.Cursor.Show()
End Sub
C#
コードを隠すコードを選択
//PictureBox1のMouseEnterイベントハンドラ
private void PictureBox1_MouseEnter(object sender, EventArgs e)
{
    //PictureBox1内でカーソルを非表示にする
    System.Windows.Forms.Cursor.Hide();
}

//PictureBox1のMouseLeaveイベントハンドラ
private void PictureBox1_MouseLeave(object sender, EventArgs e)
{
    //PictureBox1から出たらカーソルを表示にする
    System.Windows.Forms.Cursor.Show();
}

このような方法以外に、透明なカーソルイメージを用意しておき、Cursor.CurrentプロパティやControl.Cursorプロパティなどに設定するという方法もあります。これらのプロパティに関しては、「フォームやコントロールのマウスポインタ(カーソル)を待機状態にする」をご覧ください。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • イベントハンドラの意味が分からない、C#のコードをそのまま書いても動かないという方は、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。