.NET TIPS

マウス・カーソルを非表示にするには?

デジタルアドバンテージ 一色 政彦
2005/12/23

 キーボード入力しか受け付けないゲームなどのアプリケーションの場合、フォーム上ではマウス・カーソルを非表示にしたいことがある。これを実際に行うには、Cursorクラス(System.Windows.Forms名前空間)のHideメソッドを呼び出せばよい。逆に、いったん非表示にしたマウス・カーソルを再度表示したい場合にはShowメソッドを呼び出せばよい。なおどちらのメソッドも、パラメータや戻り値はない。

 以下この2つのメソッドを使用したサンプル・プログラムを示す。このサンプル・プログラムでは、フォームのMouseEnterイベント・ハンドラ内にCursor.Hideメソッドを実装することで、マウス・カーソルがフォームのクライアント領域に入ってきたときにそれが非表示になるようにしている。また逆に、フォームのMouseLeaveイベント・ハンドラ内にCursor.Showメソッドを実装することで、マウス・カーソルがクライアント領域から出ていったときにそれが再度表示されるようにしている。

private void Form1_MouseEnter(object sender, System.EventArgs e)
{
  Cursor.Hide();
}

private void Form1_MouseLeave(object sender, System.EventArgs e)
{
  Cursor.Show();
}
Private Sub Form1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.MouseEnter
  Cursor.Hide()
End Sub

Private Sub Form1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.MouseLeave
  Cursor.Show()
End Sub
マウス・カーソルの非表示/表示を切り替えるサンプル・プログラム(上:C#、下:VB.NET)
マウス・カーソルがフォームのクライアント領域に入ってきたときに(=MouseEnterイベント)マウス・カーソルを非表示にし、クライアント領域から出ていったときに(=MouseLeaveイベント)カーソルを再度表示する。

 このプログラムを動かしてフォーム上にマウス・カーソルを移動させると、実際にマウス・カーソルが見えなくなることが確認できるだろう。

 なおマウス・カーソルが非表示のときにアプリケーションを終了しても、マウス・カーソルは自動的に再表示されるので、「マウス・カーソルが消えたままになるのでは!?」という心配は要らない。End of Article

カテゴリ:Windowsフォーム 処理対象:カーソル
使用ライブラリ:Cursorクラス(System.Windows.Forms名前空間)

この記事と関連性の高い別の.NET TIPS
Windowsアプリケーション上のマウス・カーソルを変更するには?
マウス・カーソルの移動可能領域を制限するには?
usingディレクティブによる名前空間の指定を素早く記述するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH