C#一个普通的类,怎么获取窗体里控件的属性?

 我来答
syht2000
高粉答主

2014-07-06 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部

把窗体本身或者控件传入这个类(或者做为参数传给这个类的方法),看你的需要了,比如说你在form1里创建的这个类叫myclass,把这个mycalss的构造方法改成

public class myclass
{
form1 frm;
public myclass(form1 frm)
{
this.frm=frm;
}
}


这样你在form1中创建这个myclass的时候就可以是

myclass mc=new myclass(this);


当然也可以直接传窗体或者控件给类中的方法,比如mycalss中有

public void msg(EditText txt)

或者

public void msg(form1 frm)


其它方法也很多,看你需要了。

更多追问追答
追问
可以是可以,我这里报个错,从不是创建xx控件的线程访问它
追答
多线程不能直接访问不是本线程创建的控件的,解决方法一般是用委托,搜索一下C# 跨线程 访问
冬天之雪_
2014-07-06 · TA获得超过424个赞
知道小有建树答主
回答量:1304
采纳率:100%
帮助的人:600万
展开全部
每个窗体都可以认为是一个类,把它初始化 就行了。
追问
这样这不就是两个不同的实例了吗?我在这个新的实例里任何改变也不影响原来的窗体。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式