窗体ShowDialog不会在图片框中加载图像

时间:2019-08-29 02:55:47

标签: c# .net winforms picturebox showdialog

当我使用SHOWDIALOG刷新表单时,图片不会加载到图片框中,但是如果仅使用SHOW刷新,则效果很好。

我希望能够使用SHOWDIALOG刷新,并且仍然可以使用图片加载方法。

我尝试清除图片框和眉毛按钮的数据绑定。

private void formrefresh()
{
     FoodItem FoodItem = new FoodItem();
     FoodItem.ShowDialog();
     this.Close();           
}

public void GetImage()
{
     OpenFileDialog BrowseImage = new OpenFileDialog();

     BrowseImage.Filter = "Image Files(*.jpg; *.gif;)|*.jpg; *.gif";

     if (BrowseImage.ShowDialog() == DialogResult.OK)
     {
          TextBox t = 
               Application.OpenForms["FoodItem"].Controls["imagePath"] as TextBox;
          t.Text = BrowseImage.FileName;
          filenametext = BrowseImage.FileName;
          PictureBox p = Application.OpenForms["FoodItem"].Controls["foodImage"] as PictureBox;

          p.Image = new Bitmap(BrowseImage.FileName);
     }

}

      private void BrowsImage_Click(object sender, EventArgs e)
      {
        GetFoodImage image = new GetFoodImage();

        image.GetImage();
     }

1 个答案:

答案 0 :(得分:0)

查找表单(df[(df.count==[10, 5, 2, "tab"]) )并不是一种很好的使用方法。尽量避免这种情况。例如,如果某个表单有多个实例,则可能会很复杂,您将必须找到要更新的确切实例。

在您的示例中,使用库获取图像没有多大意义。如果确实需要在单独的类库中使用它,则只需返回路径即可。只需从GetImage方法返回图像路径并从FoodImage设置PictureBox。

Application.OpenForms