从一个表单发送字符串到另一个表单C#

时间:2015-07-08 20:12:01

标签: c# forms winforms

我一直在尝试将一个名为mainForm的表单中的字符串发送到另一个表单unlockForm。

我发现的引用是从文本框等内容发送值。我只是想发一个字符串。

1 个答案:

答案 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()"确保在值返回之前关闭子表单。这不是必要的,但更安全。