C# 无错误,但无法在windows窗体中加载图像

C# 无错误,但无法在windows窗体中加载图像,c#,winforms,bitmapimage,C#,Winforms,Bitmapimage,代码在这里,设计器窗口有一个按钮和一个图片框 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)

代码在这里,设计器窗口有一个按钮和一个图片框

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();*/
    }
}

没有错误窗口打开,当我按下按钮,它打开目录,然后选择了图像,但它无法加载在窗口中的图像。图像im加载为49.6 MB,这是否会产生任何问题。

您已经注释掉了将图片框添加到窗口的部分,我还建议设置图片框的一些基本宽度/高度,以便确保它显示在屏幕上


它适用于小得多的测试图像吗?

您已经注释掉了将图片框添加到窗口的部分,我还建议设置图片框的一些基本宽度/高度,以便确保它显示在屏幕上


它适用于小得多的测试图像吗?

不要动态创建图片框,而是将其放在设计器中您喜欢的任何位置,并将其Visible属性设置为False

假设您将其命名为
PictureBox1
,只要在按下按钮时指定其图像,而不创建任何新的图片框,并将其可见更改为
true

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

使用当前代码,图片框的默认位置为0,0,这意味着窗口的左上角。

与其动态创建图片框,不如将其放在设计器中任意位置,并将其Visible属性设置为False

假设您将其命名为
PictureBox1
,只要在按下按钮时指定其图像,而不创建任何新的图片框,并将其可见更改为
true

PictureBox1.Image = Image.FromFile(dlg.FileName);
PictureBox1.Visible = true;
使用当前代码,图片框的默认位置为0,0,表示窗口的左上角。

尝试

PictureBox.Image = new Bitmap(dlg.FileName);
PictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
设法

PictureBox.Image = new Bitmap(dlg.FileName);
PictureBox.SizeMode = PictureBoxSizeMode.StretchImage;


必须像在禁用代码中那样将PictureBox1添加到表单控件集合中。必须像在禁用代码中一样将PictureBox1添加到表单控件集合中。@Bug Finder…只有图像的左上角部分被替换(这里有一个加载图像的按钮)在按钮下面,它显示了!!在左上角是的,应该是。你没有给它其他的装载位置。默认情况下,图片框将位于左上角,可能非常小,当您正在动态创建图片框时,您需要使用左上角和高度/宽度(如有必要,您可以从图片中获得高度/宽度)调整大小并重新定位图像分辨率3500*4958!!我如何调整它的大小和位置以及设置它的宽度/高度!!请告诉我,我只是一个初学者来定位它,正如我所说的,设置顶部和左侧,就像所有控件一样(检查表单上的属性)Google是你的朋友-一个调整大小的示例代码是:@Bug Finder…只有图像的一部分在左上角被替换(那里有一个按钮来加载图像)在按钮下面,它显示了!!在左上角是的,应该是。你没有给它其他的装载位置。默认情况下,图片框将位于左上角,可能非常小,当您正在动态创建图片框时,您需要使用左上角和高度/宽度(如有必要,您可以从图片中获得高度/宽度)调整大小并重新定位图像分辨率3500*4958!!我如何调整它的大小和位置以及设置它的宽度/高度!!请告诉我,我只是一个初学者来定位它,正如我所说,设置顶部和左侧,就像所有控件一样(检查表单上它们的属性)谷歌是你的朋友-一个调整大小的示例代码是:向导…PictureBox1.Visible=true;我设置了这个属性,虽然结果是一样的,但是我不可能得到你说的"只要在按下按钮时分配它的图像,而不创建任何新的图片框",我想我提到的是同一个!@raghu在您发布的代码中,您创建了带有代码的图片框。不要这样做,而是以与按钮相同的方式将其保存在表单中。希望现在一切都清楚了?@shadow…有为按钮编写的代码,还有一些用于获取文件名并显示在图片框中的代码..我刚刚将图片框放在窗口中,这样当我按下按钮时,它会打开“打开文件”对话框,图像会显示在图片框中..@raghu所以请用新的相关内容更新您的问题代码。。还要解释问题所在。我会解释我做了什么!代码与我粘贴的代码相同,但有一点修改,即添加this.Controls.Add(PictureBox1);在designer窗口中,我添加了浏览和加载图像的按钮,图片框也使其停靠在右侧(如果填充,则覆盖整个窗口),没有错误,但我只能在左上角看到图像的一部分(u表示默认情况下会是这样)但是如何在按钮旁边显示它。向导…PictureBox1.Visible=true;我设置了这个属性,虽然结果是一样的,但是我不可能得到你说的"只要在按下按钮时分配它的图像,而不创建任何新的图片框",我想我提到的是同一个!@raghu在您发布的代码中,您创建了带有代码的图片框。不要这样做,而是以与按钮相同的方式将其保存在表单中。希望现在一切都清楚了?@shadow…有为按钮编写的代码,还有一些用于获取文件名并显示在图片框中的代码..我刚刚将图片框放在窗口中,这样当我按下按钮时,它会打开“打开文件”对话框,图像会显示在图片框中..@raghu所以请用新的相关内容更新您的问题代码。。还要解释问题所在。我会解释我做了什么!代码与我粘贴的代码相同,但有一点修改,即添加this.Controls.Add(PictureBox1);在designer窗口中,我添加了浏览和加载图像的按钮,图片框也使其停靠在右侧(如果填充,则覆盖整个窗口),没有错误,但我只能在左上角看到图像的一部分(u表示默认情况下会是这样),但