原理就是隔一段时间去服务器端取数据,如果有新消息就弹窗提示,常用的方案有两种:
1是用timer控件,用法参考:http://www.cnblogs.com/zhixingheyi/archive/2008/08/20/1272276.html
2是用多线程来做,用法参考(这篇文章中用的是后台线程):http://www.cnblogs.com/artwl/archive/2011/11/15/2249113.html
你好,我刚才按照第一种方法做了一下,提示错误,说不是创建form_main的线程访问它.
@路过春秋: 这个就要靠你自己多调试了。
不过推荐用第二种,第二种用的后台线程虽然写起来有点麻烦,但很灵活,更好用
@artwl: 刚才我用了timer,但是它一直在里面循环,我从数据库读取了数据之后,判断是否有未读消息,但是我想弹出一个窗口时,却不执行了.一直在里面死循环了.
@路过春秋: 模式窗口会阻塞父窗口的进程的,这个要特殊处理才行
@artwl: 大虾,请问怎样处理计时器的暂停啊,我取到信息之后弹出一个窗口,但是计时器一直运行,弹出好多个窗口,停也停不掉.我只有关掉了,然后我用timer.sotp()停止,但是停止过后计时器就不工作了,这样它就不会再去数据库读取数据了
@路过春秋: 这个与逻辑相关,要靠你自己处理了,反正timer控件有stop和start方法来暂停和开始。你可以只弹出一个窗口,有新消息后只是改变弹出的窗口内的内容,如提示有多少条新消息等。用户读了消息后再调用start方法重新开始运行timer控件
@artwl: 哦,谢谢了.我自己再想想.园豆给你了,非常感谢你的回答.