如何返回字符串onclosing winform(.net 2)
例如winform_1打开winform_2,onclosing winform_2会返回一个字符串给winform_1。请记住没有对话框。
谢谢。答案 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;
}
}