.NET TIPS

Windowsアプリケーション上のマウス・カーソルを変更するには?[C#、VB]

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

 「TIPS:待機状態のマウス・カーソルを表示するには?」では、Windowsアプリケーションで時間のかかる処理を行っていることをエンド・ユーザーに通知するために、(砂時計イメージの)待機状態を示すマウス・カーソルを表示する方法を紹介した。マウス・カーソルの形状はこれ以外にもさまざまなものがある(詳細後述)。本TIPSでは、そのような任意のマウス・カーソルを表示する方法を紹介する。

 なお、本稿で説明する内容は、Windowsアプリケーションのフォームやコントロール上の領域にマウス・カーソルが入っているときに(固定的に)表示されるマウス・カーソルを設定する方法である。

 具体的には、例えばデフォルト(Default)の設定では、マウス・カーソルがボタンの領域にあるときには次のような形状になる。

ボタン上に配置されたマウス・カーソルのデフォルト(Default)の形状

 この形状を、例えば次のようなハンド(Hand)の形状で表示することができる。この方法について本TIPSで解説する。

ハンド(Hand)の形状のマウス・カーソル

 マウス・カーソルの形状には標準で、次のようなものが用意されている。

標準で用意されているマウス・カーソルの形状
アイコンの右にある文字列は形状の名前である。

 なお、この図で示している(マウス・カーソルの)アイコンの右には、その形状の名前を載せているが、実はこれはCursorsクラス(System.Windows.Forms名前空間)の静的プロパティの名前でもある。実際にマウス・カーソルを変更するには、このプロパティ値を利用することになる(詳細後述)。

 まずは、最も簡単なVisual Studio .NET 2002/2003やVisual Studio 2005(以降、単にVisual Studio)のIDEを利用してマウス・カーソルの形状を指定する方法を説明しよう。

Visual Studioを利用したマウス・カーソルの形状の指定

 次の画面は、ボタンに対してマウス・カーソルの形状を設定しているところだ。このように、まずWindowsフォーム・デザイナで指定したいコントロールをクリックして選択し、次にプロパティ・ウィンドウで[Cursor]項目(=Cursorプロパティ)の内容を変更すればよい。

Visual Studioを利用したマウス・カーソルの形状の指定
ボタンに対してマウス・カーソルの形状を設定しているところ。
  Windowsフォーム・デザイナで指定したいコントロールをクリックして選択する。
  プロパティ・ウィンドウで[Cursor]項目(=Cursorプロパティ)の値を適切なものに変更する。

 続いて、ソース・コードによりマウス・カーソルの形状を指定する方法を示す。

コードによるマウス・カーソルの形状の指定

 ソース・コードで行う場合は、WindowsフォームのLoadイベント・ハンドラ内で、マウス・カーソルの形状の指定を記述するとよい。

 これには、マウス・カーソルの形状を指定したいフォームやコントロールのオブジェクトが持つCursorプロパティに、先ほど示したCursorsクラス(System.Windows.Forms名前空間)の静的プロパティの値(例えばHandなど)を代入すればよい。具体的には次のようなコードになる。

private void Form1_Load(object sender, EventArgs e)
{
  this.button1.Cursor = System.Windows.Forms.Cursors. System.Windows.Forms;
}
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Me.Button1.Cursor = System.Windows.Forms.Cursors.Hand
End Sub
コードによるマウス・カーソルの形状の指定(上:C#、下:VB)

 このようなコードによるマウス・カーソル形状の指定方法を使えば、動的にマウス・カーソルを変更することが可能になる。例えば、ボタンがクリックされたときにマウス・カーソルを変更したいのであれば、ボタンのClickイベント・ハンドラで先ほど示したCursorプロパティの設定を記述すればよいというわけだ。End of Article

カテゴリ:Windowsフォーム 処理対象:カーソル
使用ライブラリ:Cursorクラス(System.Windows.Forms名前空間)
関連TIPS:待機状態のマウス・カーソルを表示するには?

この記事と関連性の高い別の.NET TIPS
マウス・カーソルを非表示にするには?
マウス・カーソルの移動可能領域を制限するには?
コメントに記述された変数の内容を確認するには?
待機状態のマウス・カーソルを表示するには?
マウス・カーソルの位置を取得・設定するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間