C# サンプル集 |
Visual Basic 中学校 > C# サンプル集 > C# サンプル集目次 > Windows フォーム >
マウスカーソルを独自のものにする
2022/1/30
この記事は Windows フォーム アプリ を対象にしています。
目次
マウスカーソルを動的に描画する
const int size = 64;
using (var bmp = new Bitmap(size, size))
{
//▼グラフィックを描画(この段階ではメモリ上で描画され、どこにも表示されません。)
using (Graphics g = Graphics.FromImage(bmp))
{
g.Clear(Color.Transparent); //背景を透明にする
g.DrawEllipse(Pens.Red, 0, 0, size - 1, size - 1);
g.DrawRectangle(Pens.Black, 0, 0, size - 1, size - 1);
g.DrawString("✈", new Font(this.Font.FontFamily, 20), Brushes.Orange, 0, 0);
}
//▼描画したグラフィックをマウスカーソルに設定
this.Cursor = new Cursor(bmp.GetHicon());
}
メモ:通常のマウスカーソルに戻す方法は、this.Cursor = Cursors.Default; です。
.icoファイル・.curファイルを読み込んでカスタムなマウスカーソルを表示する
前提:この例を実行するには C:\temp\original.cur という名前でマウスカーソルファイル(ポインターファイル)が存在している必要があります。
var myCursor = new Cursor(@"C:\temp\original.cur");
this.Cursor = myCursor;
メモ:icoファイルはインターネットなどで有志が作成されたものが公開されています。「Windows アイコン ダウンロード」などで検索すると見つけられます。
メモ:オリジナルのアイコンを作成するソフトもあります。Visual Studio でも[ファイル] - [新規作成] - [ファイル] - [アイコンファイル]で .ico ファイルを作成できます。
メモ:curファイルはインターネットなどで有志が作成されたものが公開されています。「マウスカーソル ダウンロード」などで検索すると見つけられます。
メモ:オリジナルのマウスカーソルを作成するソフトもあります。Visual Studioでも[ファイル] - [新規作成] - [ファイル] - [カーソルファイル]で .cur ファイルを作成できます。
メモ:拡張子 .ani のアニメーションカーソルはこの方法では読み込めません。
PNG や GIF や JPEG を読み込んでカスタムなマウスカーソルとして表示する
前提:この例を実行するには C:\temp\original.png という名前で画像ファイルが存在している必要があります。
const int size = 64;
using (var bmp = new Bitmap(size, size))
{
//▼画像を描画(この段階ではメモリ上で描画され、どこにも表示されません。)
using (Graphics g = Graphics.FromImage(bmp))
{
using (var img = Image.FromFile(@"C:\temp\original.png"))
{
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.DrawImage(img,
new Rectangle(0, 0, size, size),
new Rectangle(0, 0, img.Width, img.Height),
GraphicsUnit.Pixel);
}
}
//▼描画したグラフィックをマウスカーソルに設定
this.Cursor = new Cursor(bmp.GetHicon());
}
メモ:通常のマウスカーソルに戻す方法は、this.Cursor = Cursors.Default; です。