- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像が読み込めない)
画像が読み込めない
このQ&Aのポイント
- VB2008Express Editionを使っている初学者が、ボタンが押されたら画像を変更したいと思っていますが、ファイルが見つからないというエラーが出ています。
- 現在のファイル構造を確認したところ、問題がなさそうです。絶対パスでファイルを指定すれば成功するため、ファイルが壊れている可能性やコードの間違いではなさそうです。
- 画像が読み込めない原因としては、ファイルの場所や名前が間違っている、またはファイルが存在しないなどが考えられます。解決方法を教えていただけると幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> 「ファイルがない」のとエラーが来ます。絶対パスで書くと成功する デバッグ実行しているのかと思われますが、そうでしょうか? 「Button1.Image = Image.FromFile("image.gif")」というコードの上の行に 「MessageBox.Show(System.IO.Directory.GetCurrentDirectory())」という 行を追加して実行してみてください。 メッセージボックスに表示されたディレクトリが現在のディレクトリです。 そのディレクトリに「image.gif」が存在しないとフルパスにしないと表示 されません。 配布または単体で動作させる時は「image.gif」と実行ファイルと同じ場所に 置いて動作させることが想定されますが、その場合には「System.IO.Directory. GetCurrentDirectory」と組み合わせないと「Image.FromFile("image.gif")」 としたままではエラーとなる可能性があります。 下記の URL を参考にして対処方法を自分なりに考えてみてはいかがでしょう? @IT:.NET TIPS 実行ファイルのパスを取得するには? - C# http://www.atmarkit.co.jp/fdotnet/dotnettips/016exepath/exepath.html
お礼
ありがとうございました。デバッガ用のファイルがあるなんで知りませんでした。 また勉強になりました。フルパス取得については自分で考えてみたいと思います。