作者kroutony (昵 称)
看板C_Sharp
标题[问题] 在静态方法Thread中,修改多个label值
时间Mon Feb 13 17:28:05 2012
目前程式码
Thread t=new Thread(new ThreadStart(method));
t.start();
public static void method()
{
//do somthing
labelxx.Text="xxxx";
}
目前主要是要在method里面修改多个label
主要就卡在静态方法中不能存取label
拿来当作thread的方法似乎只能是static?
google的一两个解决方法也看不太懂
似乎是要用 paramaterizedthreadstart
可是怎麽设怎麽传自己弄了很多方式都不成功
而且这可以用在多个label吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.226.138.31
1F:推 qwer820404:建议你把Thread的东西在了解深一点 特别在cross thread 02/14 01:21
2F:→ qwer820404:你看这篇应该就比较能解决你的问题了 02/14 01:22
4F:推 qwer820404:物件导向 Java 跟C# 这二个来讲 有个东西很重要叫做 02/14 01:25
5F:→ qwer820404:Delegate 我上个礼拜才搞懂他到底在干麻(我很嫩) 02/14 01:25
6F:→ qwer820404:有需要Delegate文章再跟我说一下 我在私下给你 02/14 01:26
7F:→ kroutony:为何范例上的thread method 都不用static? 02/14 03:28
8F:→ kroutony:我把static删除就会错误.. 02/14 04:01
9F:→ optimist9266:我觉得你还是去把动态方法跟静态方法的差别搞清楚再 02/14 15:42
10F:→ optimist9266:研究Thread,学东西还是彻底点比较好 02/14 15:43
11F:→ Elly:东西还是从基础学吧~初学用Timer就很方便了 02/14 18:56
12F:→ kroutony:应该解决了.. new thread应该要放在contructor里面 02/14 20:43
13F:→ emn178:请使用 BackgroundWorker 02/14 22:09
14F:→ kroutony:因为我需要跑while(true) background可以达到吗? 02/15 00:50
15F:推 LaPass:Java没Delegate吧?? 我都用runnable说 02/15 17:24
16F:→ LaPass:没事别用while(true).... = = 02/15 17:24
17F:推 qwer820404:回LaPass大 ,Java是没有Delegate这个关键字可以用 02/15 23:00
18F:→ qwer820404:但是他背後JVM的运作机制核心概念就是Delegate概念哩 02/15 23:00
19F:→ qwer820404:Java是透过实作介面来达到Delegate的效果 02/15 23:00
20F:推 LaPass:喔... 懂你的意思了 02/16 16:17