C# 如何保存图片框中的图像,该图片框上包含在c中动态创建的按钮#

C# 如何保存图片框中的图像,该图片框上包含在c中动态创建的按钮#,c#,winforms,picturebox,C#,Winforms,Picturebox,我已经创建了动态创建的图片框,并在上面添加了一些动态创建的按钮。当我试图保存它给我 “对象引用未设置为对象的实例。” 我的代码如下 private void button1_Click(object sender, EventArgs e) { // PB.Image.Save("C:\\Users\\ISHTIAQ RANA\\Desktop\\mywork"); SaveFileDialog f = new SaveFileDialog(); f.Filter = "JPG

我已经创建了动态创建的图片框,并在上面添加了一些动态创建的按钮。当我试图保存它给我

“对象引用未设置为对象的实例。”

我的代码如下

private void button1_Click(object sender, EventArgs e)
{
   // PB.Image.Save("C:\\Users\\ISHTIAQ RANA\\Desktop\\mywork");
   SaveFileDialog f = new SaveFileDialog();
   f.Filter = "JPG(*.jpg)|*.jpg";
   if (f.ShowDialog() == DialogResult.OK)
   {
       // File.Save(f.FileName);
       PB.Image.Save(f.FileName);
   }
}

问题是您没有将PictureBox图像设置为任何值。它是尚未设置为对象实例的图像。您可以将以下代码放在button1_Click事件的开头以验证这一点

if (PB == null)
{
    MessageBox.Show("PictureBox not set to an instance of an object.");
    return;
}
if (PB.Image == null)
{
    MessageBox.Show("Image not set to an instance of an object.");
    return;
}

我相信你的
PB
有问题。您确定在
PB.Image.Save(f.FileName)之前已经初始化了图片框吗我用这个初始化它。PictureBox PB=new PictureBox();在另一个按钮上单击i usesh=Convert.ToInt16(txtHeightPanel.Text);sw=Convert.ToInt16(txtWidthPanel.Text);PB.高度=sh;PB.宽度=sw;PB.BackColor=颜色。白色;PB.BorderStyle=BorderStyle.FixedSingle;此.panel1.Controls.Add(PB);