【问题标题】:How to pass an image from form to another form [closed]如何将图像从表单传递到另一个表单[关闭]
【发布时间】:2017-05-05 16:43:52
【问题描述】:

所以我有 2 个表格和

这就是 form1 的样子:

如果我点击“浏览图片”,它将显示:

这是我第一个表单中的代码:

private void browseimage_Click(object sender, EventArgs e)
{
    OpenFileDialog result = new OpenFileDialog();

    if (result.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
    }
}

if 中,我想存储我选择的图像文件,然后将值传递给第二个表单。

【问题讨论】:

  • 很难说如何解决你的代码问题,因为你没有发布你的代码,也没有提供任何问题细节
  • 就像 Sergey 写的那样,如果不放置代码,将会很困难。实现从一种形式向另一种形式发送数据的一种方法是更改​​表单的构造函数以接收图像,然后在创建表单实例时发送。
  • 您还可以在 Form2 上创建一个公共属性,该属性表示图像的文件路径,您可以从 Form1 设置(在实例化 Form2 对象之后)。

标签: c# winforms


【解决方案1】:

将图像存储在 Image 类型变量中,并通过第二种形式的构造函数传递该变量。 像这样:

Image myImage = Image.FromFile("C:\\... 
Pathtotheimage... ");
MyForm form = new MyForm(myImage);

在第二个表单的构造函数方面。做这样的事情:

Public MyForm (Image image) {
//do something here with the image 
} 

我没有尝试编译此代码,但您会想到将图像传递给第二种形式

希望对你有帮助

【讨论】:

  • 非常感谢它的工作:)
【解决方案2】:

另一种方法是在 Form2 中为图像创建公共属性:

public partial class Form2 : Form
{
    public Image ImageFromForm1 { get; set; }

    // rest of code omitted...

然后,当您从用户那里获取路径并创建表单的实例时,您可以像这样设置属性:

private void browseimage_Click(object sender, EventArgs e)
{
    var imageFileTypes = new List<string>
    {
        "Bitmap|*.bmp;*.dib",
        "JPEG|*.jpg;*.jpeg;*.jpe;*.jfif",
        "GIF|*.gif",
        "TIFF|*.tif;*.tiff",
        "PNG|*.png",
        "ICO|*.ico",
        "All Images|*.bmp;*.dib;*.jpg;*.jpeg;*.jpe;*.jfif;*.gif;*.tif;*.tiff;*.png;*.ico"
    };

    OpenFileDialog result = new OpenFileDialog
    {
        InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures),
        Filter = string.Join("|", imageFileTypes),
        FilterIndex = imageFileTypes.Count
    };

    if (result.ShowDialog() == DialogResult.OK)
    {
        var form2 = new Form2();
        form2.ImageFromForm1 = Image.FromFile(result.FileName);
        form2.Show();
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多