C# 在一个线程类中取得主窗体控件 20

有一个主窗体frmDisplay,还有一个线程类TCPListener,主窗体显示后启动线程监听,现在已经在TCPListener中取得了监听得到的内容(一些字符串),我... 有一个主窗体frmDisplay,还有一个线程类TCPListener,主窗体显示后启动线程监听,现在已经在TCPListener中取得了监听得到的内容(一些字符串),我要把它显示在主界面得一个label里,一般的方法似乎不可以,是不是需要委托?或者谁有好的方法,请提供思路或者帮忙解决,谢谢
线程是独立的一个类,取不到主窗体的控件。
展开
 我来答
xjumabin
2009-02-16 · TA获得超过196个赞
知道小有建树答主
回答量:210
采纳率:0%
帮助的人:0
展开全部
使用委托,然后可以将lable做成静态的控件,即定义的时候加上static,在使用lable.invoke调用这个委托,已修改值。或者将lable或主窗体传递给tcplistener作为一个类成员,然后使用invoke调用委托相对的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7522791a6
2009-02-16 · TA获得超过1174个赞
知道小有建树答主
回答量:1372
采纳率:50%
帮助的人:983万
展开全部
用委托
public delegate void OutPut(string str);
private void addTxt(string str)
{
label1.AppendText(str);
}
在线程中使用下面代码:
label1.Invoke(new OutPut(addTxt), new object[] {tempstr.ToString()});//tempstr是表示得到的数据
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
食品中化学扫盲
2009-02-19 · TA获得超过230个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:275万
展开全部
mark
来向高手学习的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式