【C#/WinForms】ドラッグ時のアイコンを取得または変更する方法

C#
この記事は約2分で読めます。

タブコントロールのドラッグイベントを実装していて、ドラッグ時のカーソルのアイコンってどうやって変えるの?って悩みました。そんな、ドラッグ時のカーソルを取得または変更する方法です。

サンプルコード

DLL を読み込んで、対象のアイコンを取得して設定します。アイコンは7種類から設定可能です。

[DllImport("kernel32.dll")]
public static extern IntPtr LoadLibrary(string dllToLoad);

[DllImport("user32.dll")]
public static extern IntPtr LoadCursor(IntPtr hInstance, UInt16 lpCursorName);

IntPtr library = LoadLibrary("ole32.dll");
IntPtr iconHandle = LoadCursor(library, 1);
// カーソルアイコンの変更
this.Cursor = new Cursor(iconHandle);

アイコンの種類

LoadCursor 関数の 第2引数に 1~7 を設定します。

おわりに

ドラッグイベント以外での変更方法がわからず、しかも対象の記事がなかなか見つからなかったので見つかったときは感動しました。

コメント

タイトルとURLをコピーしました