1

画像を表示することになっている単純なWindowsフォームアプリケーションC#を作成しました。私はここからチュートリアルに従っています以下はform1.csのコードです

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

    private void pictureBox1_Click(object sender, EventArgs e)
    {
        // Construct an image object from a file in the local directory.
        // ... This file must exist in the solution.
        Image image = Image.FromFile("Picture1.png");
        // Set the PictureBox image property to this image.
        // ... Then, adjust its height and width properties.
        pictureBox1.Image = image;
        pictureBox1.Height = image.Height;
        pictureBox1.Width = image.Width;
    }
}

イメージはソリューションフォルダーにありますが、アプリケーションの実行時にウィンドウに何も表示されません。コンパイルエラーはありません。

アップデート

ここに画像の説明を入力してください

その解決しました。

ここに画像の説明を入力してください

4

3 に答える 3

1

フルパスがないと、イメージはソリューションディレクトリからロードされません。実行可能ファイルが実行されるディレクトリからロードされます。これは、VisualStudioから実行している場合はDebugフォルダーまたはReleaseフォルダーのいずれかです。実行しているプロファイルについて。

したがって、イメージを/ bin / Debugフォルダーに入れて、プログラムを再実行します。

于 2012-11-11T22:40:26.030 に答える
1

PictureBoxクリックイベントハンドラーが登録されていることを確認してください。サンプルコードをコピーするだけでは不十分です。(私は推測しているだけです)

ここに画像の説明を入力してください

于 2012-11-11T22:44:29.420 に答える
0

より良いオプションは、このイメージをプロジェクトに追加し、次の2つのいずれかを実行することです。

  • リソースとして追加します。後で強い型付けで使用できます。
  • ファイルに次のオプションを設定します:Copy to Output Directory = Copy if newer

/bin/これらのフォルダーは揮発性であり、いつでも(通常は次の再構築時に)Visual Studioで消去できるため、の下に手動で何かを追加することはお勧めできません。

于 2012-11-11T22:53:05.573 に答える