摘要: 用线程,定时启动一个程序,就是每个30s在右下角弹出提示窗。首先找到了一个右下角提示窗的demo,然后嵌进我的程序,发现无效唯一的区别就是demo里是用按钮点击一下显示一下窗口,在我的程序里需要通过线程调出这个窗口,发现不起作用了网上也找到有人遇到相同的问题,原因记录如下:当程式运行时,我们已开启了一个线程,ui 线程. 而平时的一般工作,比如说新开窗口啦,按钮事件啦,这都是在ui 线程的管辖之下。而假如我们新建一个线程,当这个线程需要调用一个新窗口的时候,不能够直接在这个新线程之下调用,而是需要让ui 线程去调用新窗口。而新的线程所做的是给ui线程发送一条信息,让他打开窗口。而做这一步,我们 阅读全文
posted @ 2011-06-28 16:02 肖湘 阅读(766) 评论(1) 推荐(0) 编辑
摘要: 做个备忘录有个项目,要求程序在启动后定时(每30s)启动一次扫描程序,用了一个timer线程。可是奇怪的是,这个线程启动一次或者数次之后就停止了。最后终于搞清楚了,线程必须保持引用,否则会被回收,应该设为全局变量。private void frmMain_Load(object sender, EventArgs e){ TimerCallback timecall = new TimerCallback(SendSubscribedCarsInfo);//这样定义的变量会被回收 System.Threading.Timer timeQueryGps = new System.Threadin 阅读全文
posted @ 2011-06-28 09:25 肖湘 阅读(653) 评论(3) 推荐(0) 编辑