0

コードはここにあります。デザイナー ウィンドウにはボタンと画像ボックスがあります。

private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog dlg = new OpenFileDialog();

    dlg.Title = "Open Image";
    dlg.Filter = "bmp files (*.bmp)|*.bmp";

    if (dlg.ShowDialog() == DialogResult.OK)
    {

        PictureBox PictureBox1 = new PictureBox();
        PictureBox1.Image = Image.FromFile(dlg.FileName);
        /* PictureBox1.Image = new Bitmap(dlg.FileName);

            // Add the new control to its parent's controls collection
            this.Controls.Add(PictureBox1);
            //dlg.Dispose();*/
    }
}

ウィンドウが開くエラーはありません。ボタンを押すとディレクトリが開き、画像が選択されますが、ウィンドウに画像をロードできません。読み込み中の画像は 49.6 MB ですが、問題はありません。

4

3 に答える 3

3

ピクチャボックスをウィンドウに追加した部分をコメントアウトしました。また、ピクチャボックスの基本的な幅/高さを設定して、画面に確実に表示されるようにすることもお勧めします。

はるかに小さいテスト画像で機能しますか?

于 2011-05-25T12:27:26.810 に答える
1

その場で画像ボックスを作成する代わりに、デザイナの好きな場所に配置し、Visible プロパティを False に設定します。

PictureBox1新しい画像ボックスを作成せずに、ボタンが押されるたびにその画像を割り当てるだけで名前を付けると仮定し、さらにその可視性を次のように変更しtrueます。

PictureBox1.Image = Image.FromFile(dlg.FileName);
PictureBox1.Visible = true;

現在のコードでは、ピクチャ ボックスは、ウィンドウの左上隅を意味する 0,0 のデフォルト位置を取得します。

于 2011-05-25T12:45:58.157 に答える
0

してみてください

PictureBox.Image = new Bitmap(dlg.FileName);
PictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
于 2011-05-25T13:41:52.520 に答える