| 发表于:2007-06-05 16:26:27 楼主 |
我想做的是一个新闻提醒小程序,如果有新的新闻托盘图标就闪动!为什么第一次闪动正常第二就不正常了闪动图标非常快,第三次有正常闪了!不知道为什么!希望高手帮我看下代码!或提供一些这方面的例子!using system; using system.io; using system.net; using system.componentmodel; using system.data; using system.drawing; using system.text; using system.collections.generic; using system.windows.forms; namespace windowsapplication1 { public partial class form1 : form { private bool m_bflag = true; //根据url地址得到网页的html源码 private string getwebcontent(string url) { string strresult = " "; try { httpwebrequest request = (httpwebrequest)webrequest.create(url); //声明一个httpwebrequest请求 request.timeout = 30000; //设置连接超时时间 request.headers.set( "pragma ", "no-cache "); httpwebresponse response = (httpwebresponse)request.getresponse(); stream streamreceive = response.getresponsestream(); encoding encoding = encoding.getencoding( "gb2312 "); streamreader streamreader = new streamreader(streamreceive, encoding); strresult = streamreader.readtoend(); streamreader.close(); } catch { messagebox.show( "出错 "); } return strresult; } public form1() { initializecomponent(); this.notifyicon1.icon = new icon( "1.ico "); this.sizechanged += new system.eventhandler(this.form1_sizechanged); this.timer2.enabled = true; this.timer2.tick += new system.eventhandler(this.timer2_tick); } private void form1_sizechanged(object sender, system.eventargs e) { if (this.windowstate == formwindowstate.minimized) { this.hide(); } } //关闭 private void toolstripmenuitem4_click(object sender, system.eventargs e) { this.close(); } //显示 private void toolstripmenuitem3_click(object sender, eventargs e) { if (this.windowstate == formwindowstate.minimized) { this.show(); this.windowstate = formwindowstate.normal; this.activate(); this.timer1.stop(); this.notifyicon1.icon = new icon( "1.ico "); } } //抓 private void timer2_tick(object sender, system.eventargs e) { //抓取数据 string url = "http://192.168.2.27:91/admin/admin_user.asp "; string strwebcontent = getwebcontent(url); filestream fs = new filestream(@ "1.txt ", filemode.open, fileaccess.read); streamreader sr = new streamreader(fs); string strdata = sr.readtoend(); sr.close(); fs.close(); if (strwebcontent != strdata) { this.webbrowser1.refresh(); this.timer1.start(); this.timer1.tick += new eventhandler(this.timer1_tick); streamwriter sw = new streamwriter( "1.txt "); sw.write(strwebcontent); sw.close(); } } //闪 private void timer1_tick(object sender, system.eventargs e) { if (m_bflag) { this.notifyicon1.icon = new icon( "2.ico "); m_bflag = false; } else { this.notifyicon1.icon = new icon( "1.ico "); m_bflag = true; } } } } |
|
|
|
|