平时闲下来的时候总是喜欢听听歌,放松放松心情。也不知道哪些歌好听,所以总是用酷狗电台听歌。所以,一套“复杂”的流程就开始了:双击浏览器→输入百度→回车→输入酷狗电台→点击→最小化浏览器→OK。无奈,这个过程太复杂了,作为程序员,为何不让这套“复杂”的流程变得简单一些呢。好!马上动手!
先来show一下界面效果:
大致思路是将这个页面放入webbrowser控件中,但是该如何在webbrowser控件中来如何定位这个界面区域呢?之前对webbrowser控件也不是很理解,好吧,先从webbrowser控件下手。经过在网上的一番搜索,终于找到了解决办法。
但又有一个问题出现了,有时候因为网速慢的缘故,页面无法及时显示出来,显示下面的这样的效果:
这也太难看了吧!好吧,那就对页面的整个加载过程进行一些分析看看,居然发现了一个规律。
分析过程:
一:页面的定位
以下代码可以设置webBrowser控件的滚动条位置:
HtmlDocumentdocument=this.webBrowser1.Document;//获取控件中的html文档,类似于网页中的document对象。
document.Window.ScrollTo(320,1520);//将文档窗体滚动到指定位置,320表示横坐标,1520表示纵坐标,这都可以设置的。
二:气泡提示
1.欢迎收听酷狗电台。。。
2.努力加载中,请稍后。。。
3.加载完毕,即将播放。。。
webBrowser1_Navigating页面加载中
webBrowser1_DocumentCompleted页面加载完毕后
定义变量来统计加载和加载完毕的次数:
ing1234567891011121314151617
end(1)(1)23456过程完毕(1时调整页面位置4的时候就在加载音乐5时开始播放6时将整个背景显示出来)
利用timer控件判断加载次数来决定提示信息为什么:
ing1时提示欢迎收听。。。
ing5时提示努力加载中。。。
end4时提示即将播放。。。(以防网速影响加载速度)
NotifyIcon.ShowBalloonTip方法(Int32)
如果这两个气球提示来自同一应用程序,则第一个气球提示在再次调用ShowBalloonTip方法时立即关闭。某些情况下,第二个气球将在第一个气球的顶部打开。
附部分主要源码:
为了界面的美化效果,又将form窗体变成了无边框窗体,在顶部加入了拖入的效果。之前在看同学玩地下城的时候看到的这种效果,鼠标移上显示,移开隐藏,觉得特炫。现在实现了才发现还挺简单的嘛!不过效果是达到了,感觉还是不太满意,鼠标在移动时会出现闪动的现象,还需要做进一步的修改。
最后,还有一个很让人纠结的问题,众所周知,winform中的webbrowser控件占用的内存太大了,仅这么个150k的小程序运行起来就占用了将近50M的内存。所以,下一步是希望能够找到一个可以替代webbrowser控件的第三方控件,来降低内存的占用。