2009-07-24 5 views
1

カーソルイメージを変更する必要があります。マウスが私のフォーム上にあるときは、ローカルパスから自分のイメージをロードする必要があります。私は.NETフレームワークのバージョン1.1を使用しています。マウスカーソルイメージを変更するにはどうすればよいですか?

Cursor = new Cursor(GetType(), Application.StartupPath+ "\\windowfi.cur"); 

をしかし、これは例外をスロー:

値はnullにすることはできません。ここ

は、私がしようとしているものです。
パラメータ名:データストリーム

+3

これはあなたの50番目の質問であり、あなたは5ヶ月間(私より長く)続きました。あなたの質問のためのテキストフォーマットを少し見て、フレーズに数分掛かり、適切に問題を区切ります。これはしばしばあなたが望むものをより明確にするだけでなく、あなたを助けようとしている人々のためにいくつかの敬意を表します。 – balpha

+0

あなたが不平を言っているすべての時間を過ごしているなら、少なくとも彼に好意を持ち、質問を再フォーマットして、あなたが将来何を見たいかという考えを持っているはずです。 –

+0

@ spoon16彼は初心者でした。しかし、この男は長い間ここにいて、よく知っています。 – balpha

答えて

1

Cursorクラスには、curファイルパスをパラメータとして取り込むコンストラクタがあります。それを使用してください。このように:

this.Cursor = new Cursor("<your_cur_file_path"); 
2

これはおそらく動作するはずです:

Cursor.Current = new Cursor(GetType(), Application.StartupPath+ @"\windowfi.cur"); 

または

Cursor.Current = new Cursor(GetType(), Application.StartupPath+ "\\windowfi.cur"); 

注リテラル@文字列を使用すると、\エスケープ文字は、上記使用できるようにしますカーソルのアイコンへのパスにバックスラッシュ文字が正しく表示されます。 CursorクラスのCurrentプロパティも同様です。

+0

彼はまた彼の例でエスケープ文字を持っています。しかし、。現在の参照上の良い点。 –

+0

ナー、彼は編集されていないバージョンではなかった。しかしそれはポイントの外にあります:-) – jpoh

0

カーソルコンストラクタに間違ったオーバーロードを使用しているようです。ファイルパスを使用する場合は、the constructor overload that just takes a stringを使用します。型と文字列をとるオーバーロードを使用しています。そのオーバーロードはembedded resourceになります。

関連する問題