Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否将值发送到另一个打开表单中的文本框?_C#_Winforms - Fatal编程技术网

C# 是否将值发送到另一个打开表单中的文本框?

C# 是否将值发送到另一个打开表单中的文本框?,c#,winforms,C#,Winforms,我有Winform应用程序 有两个表单1的名称树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.

我有
Winform
应用程序 有两个表单1的名称
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();

将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();
}   
试试这个方法,

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.
    }
}
这个怎么样

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

通过使用一些事件或使用按钮并单击Event在“AddRegion”中获取数据您可以在form2的构造函数中发送对form1 one的引用,并使您要更新的控件成为公共控件。相同!打开新实例这还不错,实现了我的目标,但我在31个表单中使用了此树(搜索):您可以使用LINQ查找打开的表单。我已经更新了我的答案,请看一看。谢谢你们的努力,我想更简单的方式,我会标记为答案已经工作!
YourForm form = (YourForm)Application.OpenForms["formName"];