如何在另一个表单中引用图片框(从另一个表单更改图片框)

Posted

技术标签:

【中文标题】如何在另一个表单中引用图片框(从另一个表单更改图片框)【英文标题】:How to reference a pictureBox in another Form (Changing a PictureBox from another Form) 【发布时间】:2021-09-07 13:53:27 【问题描述】:

我一直在使用 2 个表单构建我的应用程序,一个 Home 表单和一个用于显示图像的单独表单。它使用 OpenFileDialog 并过滤掉文件以供选择。但是,我如何实际引用另一个表单本身的图片框?

// open file dialog   
OpenFileDialog open = new OpenFileDialog();  
// image filters  
open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp";  
if (open.ShowDialog() == DialogResult.OK)   
    // display image in picture box  

    // How to change this to access pictureBox1 on Form2
    pictureBox1.Image = new Bitmap(open.FileName);  

  

上面的脚本是通过按钮执行的。再次如何从Form2中引用pictureBox?

【问题讨论】:

【参考方案1】:

如果您的图片框位于另一个表单上,您只需为其提供“内部”访问权限并在该表单的实例中对其进行操作

var f = new PicForm();
f.picBox.Image = ....
f.Show();

但如果你让你的图片形式独立,那就更好了。添加构造函数参数

public PicForm (string path) : base()

    if (File.Exists(path)) 
        this.picBox.Image = new Bitmap(path);

【讨论】:

以上是关于如何在另一个表单中引用图片框(从另一个表单更改图片框)的主要内容,如果未能解决你的问题,请参考以下文章

图片框不显示图像

C# 表单使用 [i] 引用图像

PHP实现简单的文本提交表单(可放入图片)

如何从另一个表单刷新文本框? C#

如何从另一个 dart 文件中调用有状态小部件(有表单)方法?- Flutter

C#中的图片框值