在另一个打开的表单中发送值到文本框?

时间:2014-04-02 08:43:58

标签: c# winforms

我有Winform申请 有2个表单1的名称Tree 2'名称AddRegion其中有3个控制公共修饰符 我发送值从树到AddRegion控件它正常工作,但打开新的AddRegion 我如何以打开的表格发送价值

//  this is button cick in Tree 
Definitions.AddRegion addreg = new Definitions.AddRegion();
addreg .txt_accno.Text  ="1";
addreg .txt_acconame.Text  = "2";
addreg.lbl_ParentID.Text ="3";
addreg.ShowInTaskbar = false;
//  addreg.Show(this);
this.Hide();

2 个答案:

答案 0 :(得分:1)

试试这个方法,

for (int i = 0; i < Application.OpenForms.Count; i++)
{
    if (Application.OpenForms[i].Name == "YourFormName")
    {
        YourForm form = (YourForm)Application.OpenForms[i];
        ///Assign the value here
        ///form.txt_accno.Text = "1"; //etc.
    }
}

<强> EDITE:

即使您可以使用LINQ查找开放表单。

var forms =  (from Form form in Application.OpenForms
                            where form.Name == "Form2"
                            select form)

这个怎么样

YourForm form = (YourForm)Application.OpenForms["formName"];

答案 1 :(得分:-1)

将Definitions.AddRegion表单保留在methode之外的变量中。

因此它将是全球性的,可访问的,如:

Definitions.AddRegion addreg = new Definitions.AddRegion();

void button1_Click(object sender, EventArgs eventArgs)
{
    addreg .txt_accno.Text  ="1";
    addreg .txt_acconame.Text  = "2";
    addreg.lbl_ParentID.Text ="3";
    addreg.ShowInTaskbar = false;
    this.Hide();
}