C# 如何在实例化新表单时不丢失参数

C# 如何在实例化新表单时不丢失参数,c#,winforms,parameters,showdialog,C#,Winforms,Parameters,Showdialog,我的代码如下所示: private void button3_Click(object sender, EventArgs e) { schema s1 = new schema(readedImage); s1.ShowDialog(); if(s1.imgToReturn != null) { readedImage = s1.imgToReturn; s1.img

我的代码如下所示:

    private void button3_Click(object sender, EventArgs e)
    {
        schema s1 = new schema(readedImage);
        s1.ShowDialog();
        if(s1.imgToReturn != null)
        {
            readedImage = s1.imgToReturn;
            s1.imgToReturn = null;
        }
        s1.Dispose();
    }
因为我正在创建一个新实例,所以在以后调用.ShowDialog()时,我不会得到新表单中的“ReadeImage”。 是否有方法在.ShowDialog操作中提供参数

编辑: 这是shema表单的构造函数:

    public schema(Image readedImage = null)
    {
        InitializeComponent();
        imgToReturn = readedImage;
    }

问候并感谢您的帮助

我不太清楚您在问题中的意思

但我想这可能对你有帮助

private void button3_Click(object sender, EventArgs e)
{
    schema s1 = new schema(readedImage);
    if(s1.ShowDialog() == DialogResult.OK)
    {
        if(s1.imgToReturn != null)
        {
            readedImage = s1.imgToReturn;
            s1.imgToReturn = null;
        }
        s1.Dispose();
    }
}

在您显示的对话框中,确保在用户完成所有操作后设置属性
DialogResult

我不确定您在说什么,创建新实例与此有什么关系?你在新表单中“不获取‘readedimage’是什么意思?我的表单“schema”有这样的构造函数:schema(Image img=null),当我像在我发布的代码中那样调用表单时,img的默认值为“null”。这就是我所说的“不获取readedimage”“不要对
模式进行模糊描述,只需添加代码即可。好的,很抱歉,我在Post nowthx中添加了它以获得答案,但我找到了解决方案。”。它不在那里。还有一段代码是谁出的错。