マウスカーソルを自作アイコンに変更する(C#)

開発環境:Windows10/VisualStudio2015

通常、Windowsフォームでマウスカーソルを変更する場合には、

このようなコードで変更できますが、これでは標準のマウスカーソル以外には変更できません。

そこで、自作のマウスカーソルを作成し、それを使用する方法をご紹介します。

自作マウスカーソルを作成する

マウスカーソルファイル(拡張子.cur)を作成します。

curファイルは、フリーソフトなどでも作成できます。
ブラウザで動作するWEBアプリもあるようですね。
今回は、プチモンテ様が無償で公開されておりますカーソルエディタ Web CursorEditorを使用して作成してみました!!

今回は、このようなcurファイルを作成してみました。

自作マウスカーソルをリソースファイルに登録する

作成したマウスカーソルを絶対パスの任意のフォルダに置いて、そのファイルをリンクして使用する方法もありますが、実行環境に左右されてしまいますので、ここではリソースに登録して使用します。

VisualStudioの「ソリューションエクスプローラー」の「プロジェクト名(ここではCurTest)」を右クリックし、「追加」→「既存の項目」をクリックします。

ファイル選択画面が開きますので、作成した「curファイル」を選択し、「追加」をクリックすると、プロジェクトにcurファイルが追加されます。

追加されたcurファイルを右クリックし、「プロパティ」をクリックします。
プロパティの「詳細」の「ビルドアクション」を「埋め込みリソース」に変更します。

リソースのマウスカーソルを使用する

以下のようなコードを変更したい画面に入力します。
ここではフォーム全体のカーソルを変更するので、Form1_Loadイベントに記載しています。

実行すると、無事にフォーム内でマウスカーソルが変更されました!!