Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/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#从无格式的Form2窗口到from1窗口_C#_Visual Studio 2012 - Fatal编程技术网

c#从无格式的Form2窗口到from1窗口

c#从无格式的Form2窗口到from1窗口,c#,visual-studio-2012,C#,Visual Studio 2012,我正在尝试从form2到Form1获取任何类型的文本 我曾经 但它不会从1更新。它只发送空值 然后我找到了这个班 它得到了我想要的问题是我希望它尽快更新文本框,而不是按下两个表单上的按钮使其更新 如果我能让它从form2更新的话,那将是一件非常糟糕的事情 我甚至试过 public form1(string text) { textBox.Text = text; } 表格2 您可以使用获取对其他表单的引用: Form1 form1 = Application.OpenForms["For

我正在尝试从form2到Form1获取任何类型的文本 我曾经

但它不会从1更新。它只发送空值 然后我找到了这个班

它得到了我想要的问题是我希望它尽快更新文本框,而不是按下两个表单上的按钮使其更新 如果我能让它从form2更新的话,那将是一件非常糟糕的事情

我甚至试过

public form1(string text)
{
  textBox.Text = text;
}
表格2

您可以使用获取对其他表单的引用:

Form1 form1 = Application.OpenForms["Form1"] as Form1;
if(form1 != null)
{
    form1.SetTextBoxText("lol");
}
您需要在
Form1
中提供一个公共方法
SetTextBoxText
,以更改文本框中的文本:

public void SetTextBoxText(String text)
{
    textBox.Text = text;
}

text1.Show()
添加到第一个代码段以查看结果。理解类型和对象之间的差异是.NET编程的核心。找一本书或一所学校来帮助你自己。它没用,我照你说的做了,只是在学校里找不到<代码>错误1“System.Windows.Forms.Form”不包含“SetTextBoxText”的定义,并且找不到接受“System.Windows.Forms.Form”类型的第一个参数的扩展方法“SetTextBoxText”(是否缺少using指令或程序集引用?)@coldasice:您必须以这种方式将表单强制转换为
Form1
((Form1)Form1.SetTextBoxText(“blah”)相应地编辑了我的答案。
Form1 form1 = Application.OpenForms["Form1"] as Form1;
if(form1 != null)
{
    form1.SetTextBoxText("lol");
}
public void SetTextBoxText(String text)
{
    textBox.Text = text;
}