我一直在尝试将一个名为mainForm的表单中的字符串发送到另一个表单unlockForm。
我发现的引用是从文本框等内容发送值。我只是想发一个字符串。
答案 0 :(得分:2)
这有两种方式。如果您尝试将字符串从所有者表单传递到子表单,则可以在参数中执行此操作,如下所示:
class Owner : Form
{
private Child Child;
public Owner()
{
Child = new Child("Value To Pass");
}
}
class Child : Form
{
public Child(string value)
{
//do something with value
}
}
如果你想从孩子传递给所有者,那就是这样的:
class Owner : Form
{
public Owner()
{
Child = new Child();
Child.ShowDialog();
string childValue = Child.Value;
}
}
class Child : Form
{
public string Value{get;set;}
public Child()
{
}
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
value = "Value To Set";
this.Close();
}
}
请注意,我正在使用" Child.ShowDialog()"确保在值返回之前关闭子表单。这不是必要的,但更安全。