2

この状況では Image.FromFile(string) メソッドを使用します。

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

namespace GVEMO
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            PaintBackground();
        }
        public void PaintBackground() {
            gameBoard.Image = Image.FromFile("gvemoBack.jpg");
        }
    }
}

gameBoard は、pictureBox の名前です。しかし、このプログラムを開始すると、例外 FileNotFound が発生します。画像はメイン ディレクトリ (フォルダ bin、classes、properties などを含むディレクトリ) にあります。この画像をすべてのプロジェクト ディレクトリにコピーしようとしましたが、例外が残ります。この画像はどのディレクトリにある必要がありますか、または何が間違っていますか? VS2012 と .NET Framework バージョン 4.5 を使用しています。どうも

4

7 に答える 7

3

ファイルがソリューション エクスプローラーに表示されていることを確認します。そうでない場合はShow All Files、ソリューション エクスプローラーの ボタンをクリックし、画像を右クリックして [プロジェクトに含める] をクリックします。

Copy to Output Directoryファイルが表示されている場合は、ソリューション エクスプローラーで画像を右クリックしてプロパティを選択し、オプションがCopy if newerまたはに設定されていることを確認して、画像が出力ディレクトリにコピーされていることを確認しますCopy always

于 2013-03-31T13:36:08.840 に答える
0

パスを指定しない場合、現在のディレクトリが使用されます。

相対パスを使用できます。

./xxx/yyy/file.ext
../../xxx/yyy/file.ext

または絶対パス:

/xxx/yyy/file.ext

または、プログラムを起動する前または実行中にディレクトリを変更します (言語/プラットフォームに依存するソリューション)。

于 2013-03-31T13:44:57.037 に答える