关闭时C#open form返回字符串

时间:2011-08-12 17:10:42

标签: .net

如何返回字符串onclosing winform(.net 2)

例如winform_1打开winform_2,onclosing winform_2会返回一个字符串给winform_1。请记住没有对话框。

谢谢。

3 个答案:

答案 0 :(得分:1)

将值设为winform_2的公共属性,并在关闭后从winform_1读取它。

然后重命名你的winform类:(

答案 1 :(得分:1)

“返回”表示第一种形式中的某些内容在第二种形式上是阻塞的,如果它不是对话框,这听起来很奇怪。

可能做的一件事是在第二种形式中有一个字符串属性,然后执行:

// In FirstForm.cs
secondForm.FormClosing += HandleSecondFormClosing;

...

private void HandleSecondFormClosing(object sender, EventArgs e)
{
    // Or just use your existing reference to the second form, if you
    // still have it
    SecondForm form = (SecondForm) sender;

    // Or whatever else you want to do with the result in SecondForm.
    // OperationResult is the name of the string property you've put
    // in SecondForm.
    result.Text = form.OperationResult;
}

显然,将所有这些任意名称重命名为更有意义的名称......

答案 2 :(得分:1)

在winform_2上使用属性。

public class winform_2 : Form {

    public string MyReturnValue{ get; set; }

    public void SetMyString(){
        MyReturnValue = "return value";
    }
}

public class winform_1 : Form { 

    private void CallForm2(){
        var form2 = new winform_2();
        form2.ShowDialog();
        var resultString = form2.MyReturnValue;
    }
}