c#如何从我的班级访问我的表单控件?

时间:2010-11-04 17:13:39

标签: c# .net

我在与表单相同的命名空间中有一个类。我可以从我的班级访问表单控件的方法/属性吗?我怎么能做到这一点?

4 个答案:

答案 0 :(得分:10)

你需要公开你的控件,但我不会这样做。我宁愿从我的控件中暴露出我需要的东西。所以说如果我需要访问文本框中的文本:

public class Form1 : Form
{
   public string TextBoxText
   {
      get{return this.textBox1.Text;}
      set{this.textBox1.Text = value;}
   }
}

答案 1 :(得分:3)

一种方法是将表单传递给类,如下所示:

class MyClass
{
     public void ProcessForm(Form myForm)
     {
           myForm.....; // You can access it here
     }

}

并公开你想要的控件,以便你可以访问它们,但实际上你应该只传递你需要的类,而不是整个表单本身

答案 2 :(得分:2)

如果您将表单的引用传递给您的班级,您应该能够从班级访问表单的方法和属性:

public class MyClass
{
    private Form form;

    public void GiveForm(Form form)
    {
        this.form = form;
    }
}

答案 3 :(得分:0)

您需要生成存根。

为此

在自定义类中编写构造函数

public YourClass(Main main)   
{
        // TODO: Complete member initialization
        this.main = main;
}

然后在主类/表单类中初始化您的类

YourClass yesMyClass = YourClass(this);

如果您想要在自定义类上访问表单组件,那么

this.main.label1.Text="I done that smartly'