[英]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.