【问题标题】:Access a TextBox from another class in workspace从工作区中的另一个类访问 TextBox
【发布时间】:2013-04-02 14:23:20
【问题描述】:

我想使用textBox,它在我的主要表单Form1 上来自其他班级。在课堂上Form1 我可以使用:

    this.Invoke(new EventHandler(displayText));

and then

    private void displayAccFields(object o, EventArgs e)
    {
        tbAccRoll.AppendText(packParameters.getPackage(3) + "");
    }

而且效果很好。

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

【问题讨论】:

  • 您使用的是 winforms、WPF 还是 ASP.Net?
  • 听起来像 Winforms (Form1...)
  • 把你的整个表格传给班级。 Class myClass = new MyClass(this);
  • 谢谢,它有帮助。但是 Form 上的所有字段都是私有的。改成public可以吗?
  • 还有一个愚蠢的问题。现在,当我想通过this.Invoke(new EventHandler( DisplayFunctions.displayAccFields(this, packParameters) )) 显示外部类的内容时;它说“方法的名称是requared”外部类中的方法是public static void displayAccFields(Form1 mainForm, SerialCommunicationProtocol packParameters) { mainForm.tbAccRoll.Clear();}

标签: c# textbox


【解决方案1】:

对于在两个表单之间发送值,您可以

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

第二种形式,

public Form1 objForm1;

在第一种形式中,

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

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

【讨论】:

  • 我的外部类不是表单。它只是一个具有一些功能的类
猜你喜欢
  • 2012-05-18
  • 2017-08-04
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2020-11-24
  • 2017-03-22
相关资源
最近更新 更多