繁体   English   中英

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

[英]c# how do i access my form controls from my class?

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

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

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

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

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

}

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

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

public class MyClass
{
    private Form form;

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

您需要生成存根。

为了那个原因

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

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

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

YourClass yesMyClass = YourClass(this);

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM