自分で作成したカーソルに変更する方法はあるのでしょうか? 簡単にできるのですが、落とし穴もいっぱいあります。ハマらないようにきをつけましょう。← さっそくハマってしまった(汗)
まず適当にカーソルをつくります。
カーソルのプロパティー、ビルドアクションを「埋め込みリソース」に変更するのがポイント。
次に、
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public partial class Form1 : Form { public Form1() { InitializeComponent(); // ここがポイント var assm = Assembly.GetExecutingAssembly(); var stream = assm.GetManifestResourceStream("WindowsFormsAppABC.mycur.cur"); cursor = new Cursor(stream); } Cursor cursor = null; } |
GetManifestResourceStreamメソッドでリソースのストリームを取得する際に使用するリソース名は、「プロジェクト名.ファイル名」と説明しているサイトが多いですが、このプロジェクト名はこの部分です。
普通は新しいプロジェクトを作成したらそのまま使っているので問題はありませんが、変更している場合は要注意。私はドハマりしてしまいました。とほほ・・・
ここをクリアしたらあとは簡単。クリックしたらカーソルを変更するようにしています。
1 2 3 4 5 6 7 8 |
public partial class Form1 : Form { private void Form1_MouseDown(object sender, MouseEventArgs e) { if(e.Button == MouseButtons.Left) Cursor.Current = cursor; } } |