http://social.msdn.microsoft.com/Forums/vstudio/ …
を参考に、
開発中のツールに
using System.Reflection;
using System.Resources;
と
private void Form1_Load(object sender, EventArgs e)
{
Assembly asm = Assembly.GetExecutingAssembly();
//ResourceManagerオブジェクトの作成(リソースResource1を追加してある)
ResourceManager rm = new ResourceManager( asm.GetName().Name + "a", asm);
// リソースよりIcon1.icoを取得する
Icon icon1 = (Icon)rm.GetObject("Icon1");
Cursor cur = new Cursor(icon1.Handle);
this.Cursor = cur;
}
を追加しました。
リソースにはjpegで書いた画像aを追加しました。
すると、
Icon icon1 = (Icon)rm.GetObject("Icon1");
の
"Icon1"の部分で、
指定されたカルチャまたはニュートラル カルチャに対して適切なリソースが見つかりませんでした。 "スーパーカーリングおひとりさまデッキブラシ.resources" が適切に埋め込まれたか、実行時にアセンブリ "スーパーカーリングおひとりさま" にリンクされたか、または必要なサテライト アセンブリが読み込まれて完全に署名されていることを確認してください。
というエラーメッセージが出ます。
そもそも、参考URLのページの質問者が、リソースにどのように画像を登録していたのかが不明です。
詳しくわかる方よろしくおねがいします。
No.2ベストアンサー
- 回答日時:
具体的な手順はすでに回答ついているのでいいとして…
>リソースにはjpegで書いた画像aを追加しました。
画像ファイルではアイコンやマウスカーソルには使用できないかと。
アイコンエディタとかフリーでありますからそういうのでアイコンファイル(カーソルファイル)を作成してください。
No.1
- 回答日時:
とりあえずそのC#プロジェクトの名前空間をWindowsFormApplication1とする。
まずリソースの追加だが、これはプロジェクトを右クリック→追加(D)→新しい項目(W)...→アセンブリ リソース ファイルで行う。そうするとResource1.resxというファイルが追加される(ファイル名を指定しなかった場合)。で、これがC#というかMicrosoft.Netの名前空間的にはWindowsFormsApplication1.Resource1という識別子になる。
で、Resource1を開くとResource1.resxというタイトルのリソース一覧窓になるのでリソースの追加(R)→新しいアイコンの追加(C)を選ぶ。そうするとIcon1.icoという埋め込みリソースファイルができる。
その上で、
~~~~~~~~
開発中のツールに
using System.Reflection;
using System.Resources;
と
private void Form1_Load(object sender, EventArgs e)
{
// ↓自分自身(EXE)のアセンブリを取得
Assembly asm = Assembly.GetExecutingAssembly();
//ResourceManagerオブジェクトの作成(リソースResource1を追加してある)
// ↓アセンブリからWindowsFormApplication1.Resource1という名前のリソースを取得
// ↓つまり、ここの第1引数は「WindowsFormApplication1.Resource1」という文字列を指定している
// ↓あなたのプログラムでは"a"になってたけどそれだと「WindowsFormApplication1a」になるわけだ
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;
}
~~~~~~~~
とすると(EXEから見て)自分自身のアセンブリからリソースクラスを取得してアイコンを読むという動作になる。
以上が参考サイトの解説だけど・・・・EXEの中にアセンブリ リソース ファイルを入れて、その中にアイコンファイルを入れてそれを使いたいだけなら以下のようにすればいいよ。リフレクションも使う必要ない。
~~~~~~~~
private void Form1_Load(object sender, EventArgs e)
{
Cursor cur = new Cursor(Resource1.Icon1.Handle);
this.Cursor = cur;
}
~~~~~~~~
アセンブリ リソース ファイルResource1をプロジェクトに追加すると、自動的にEXEの名前空間(正確にはプロジェクトのプロパティの中にある「規定の名前空間」)内にResource1というクラスが出来上がり、そこにIcon1.icoを追加すると、プログラム中からResource1.Icon1にアクセスすることでアイコンを取得する事ができる。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
VisualBasicを保存するときにで...
-
コンパイルするときに、ファイ...
-
ビルドエラー(C1083)について
-
stdio.hをオープンできない…
-
C#のクラスをVB.netで使用したい!
-
VC++でexeファイルが作成できま...
-
【C#】exeファイルに複数アイコ...
-
libssh2のインクルード
-
ocxの作り方(MFC)
-
VBソースを表示できない。
-
*.bsc *.exp??
-
エラーの原因は?「この関数の...
-
ソースから参照しているOCXの一...
-
VB2008ExpressのソースをVB2005...
-
Visual Studioランタイム組込み...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
FTPでputすると空ファイルが出...
-
フルパスから最後のディレクト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで他のプロジェクトで作...
-
コンパイルするときに、ファイ...
-
エラーの原因は?「この関数の...
-
ACCESSのEXEを作るのは可能...
-
他の.CPPファイルに定義した関...
-
VC++でexeファイルが作成できま...
-
ソースから参照しているOCXの一...
-
VB6で、非表示モジュール(?)の...
-
VS2010 ProductVersion 変更
-
VisualBasicを保存するときにで...
-
stdio.hをオープンできない…
-
Visual Studioでプロジェクトが...
-
C#のクラスをVB.netで使用したい!
-
VB.NETでActiveX(OCXファイル)作成
-
同じソースコードなのにバイナ...
-
VB6.0 オブジェクトを一覧で表示
-
VC++ 2005 Intellisenseを更新....
-
ユーザー名・作成者について(Vi...
-
srand48? drand48?
-
VC++で.csprojが開けません。
おすすめ情報