Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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#_Textbox - Fatal编程技术网

C# 从工作区中的另一个类访问文本框

C# 从工作区中的另一个类访问文本框,c#,textbox,C#,Textbox,我想使用一个textBox,它位于我的主窗体Form1上,来自其他类。在课堂Form1中,我可以使用: this.Invoke(new EventHandler(displayText)); and then private void displayAccFields(object o, EventArgs e) { tbAccRoll.AppendText(packParameters.getPackage(3) + ""); } 而且效果

我想使用一个
textBox
,它位于我的主窗体
Form1
上,来自其他类。在课堂
Form1
中,我可以使用:

    this.Invoke(new EventHandler(displayText));

and then

    private void displayAccFields(object o, EventArgs e)
    {
        tbAccRoll.AppendText(packParameters.getPackage(3) + "");
    }
而且效果很好


如何访问此
文本框
以显示来自不同类的内容?

若要在两个表单之间发送值,您可以

  • 在第二种形式的构造函数中发送值。您可以创建参数化构造函数,并在初始化表单时发送值
  • 你可以在第二份表格中引用你的第一份表格
  • 在第二种形式中

    public Form1 objForm1;
    
    在第一种形式中

    Form2 objForm2=new Form2();
    Form2.objForm1=this;
    

    然后您可以使用Form2的objForm1来引用Form1的文本框。

    您使用的是winforms、WPF还是ASP.Net?听起来像winforms(Form1…)将整个表单传递给类。类别myClass=新的myClass(此);谢谢,这很有帮助。但表单上的所有字段都是私有的。把它们公之于众可以吗?还有一个愚蠢的问题。现在,当我想通过
    this.Invoke(新的EventHandler(DisplayFunctions.displayAccFields(this,packParameters))显示外部类中的内容时,
    ;它说“方法的名称是Requaled”外部类中的方法是
    publicstaticvoiddisplayaccfields(Form1 mainForm,serialcommunicationprotocolpackParameters){mainForm.tbAccRoll.Clear();}
    My external类不是一个表单。它只是一个具有一些功能的类