none
オリジナルのカーソルを使用する RRS feed

  • 質問

  •  

    あるコントロールにマウスONしたときに独自のマウスカーソルにカーソルを変更したいのですが。。。

    this.Cursor = new Cursor(GetType(), "Hand_O.cur");

    のように変更する方法がMSDNに紹介されていましたが

    System.NullReferenceExceptionが発生してしまってどうもうまくいきません。

     

    マウスカーソルはリリースに追加してあります。

    exeファイルの外にカーソルファイルを置いてやる方法ではうまくいきましたが

    一つにしたいためどうしてもリリースでやりたいです。

     

    どなたかご教授していただけないでしょうか。よろしくおお願いします。

    2008年11月29日 9:46

回答

  • こんにちは!(^^)!ふ~です。

     

    Code Snippet

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using System.Reflection;
    using System.Resources;

    namespace CursolMake
    {
     public partial class Form1 : Form
     {
      public Form1()
      {
       InitializeComponent();
      }

      private void Form1_Load(object sender, EventArgs e)
      {
       Assembly asm = Assembly.GetExecutingAssembly();

       //ResourceManagerオブジェクトの作成(リソースResource1を追加してある)
       ResourceManager rm = new ResourceManager( asm.GetName().Name + ".Resource1", asm);

       // リソースよりIcon1.icoを取得する
       Icon icon1 = (Icon)rm.GetObject("Icon1");
       Cursor cur = new Cursor(icon1.Handle);

       this.Cursor = cur;
      }
     }
    }

     

     

    ご参考資料

    リソースファイルからリソースを取得する

    http://dobon.net/vb/dotnet/programing/resourcemanager.html

     

    色付きのカーソルを作成する

    http://smdn.invisiblefulmoon.net/ikimasshoy/dotnettips/tips022.html

     

    以上 ご参考になれば幸いです。

     

     

     

     

    2008年11月30日 4:34

すべての返信

  • こんにちは!(^^)!ふ~です。

     

    Code Snippet

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;

    using System.Reflection;
    using System.Resources;

    namespace CursolMake
    {
     public partial class Form1 : Form
     {
      public Form1()
      {
       InitializeComponent();
      }

      private void Form1_Load(object sender, EventArgs e)
      {
       Assembly asm = Assembly.GetExecutingAssembly();

       //ResourceManagerオブジェクトの作成(リソースResource1を追加してある)
       ResourceManager rm = new ResourceManager( asm.GetName().Name + ".Resource1", asm);

       // リソースよりIcon1.icoを取得する
       Icon icon1 = (Icon)rm.GetObject("Icon1");
       Cursor cur = new Cursor(icon1.Handle);

       this.Cursor = cur;
      }
     }
    }

     

     

    ご参考資料

    リソースファイルからリソースを取得する

    http://dobon.net/vb/dotnet/programing/resourcemanager.html

     

    色付きのカーソルを作成する

    http://smdn.invisiblefulmoon.net/ikimasshoy/dotnettips/tips022.html

     

    以上 ご参考になれば幸いです。

     

     

     

     

    2008年11月30日 4:34
  •  

    ありがとうございました。結構悩んでいましてかなり助かりました。どうもありがとうございました。
    2008年11月30日 5:21