这是winform模仿QQ聊天窗口皮肤控件下载,本人(rén)模仿QQ做了一个(gè)聊(liáo)天软件(jiàn),本(běn)人的(de)解决思路(lù)是:把聊(liáo)天内容(róng)发送后存储(chǔ)到数据库(kù),然(rán)后(hòu)在数据库(kù)查询刚发消息把他显示在上面(miàn)的那(nà)个窗口(kǒu)。
winform模仿QQ聊天窗(chuāng)口皮(pí)肤控件最近到年底了,比较忙,C# WinForm控件开发和美化 也好长时间没有更新了。这段时间主要是在尝试(shì)着做(zuò)一套自己的Winform皮肤(fū)控(kòng)件。现(xiàn)在看(kàn)到的客(kè)户(hù)端程序(xù)中(zhōng),我(wǒ)发(fā)现的皮肤(fū)做得最牛(niú)的是迅雷7(只是说(shuō)皮肤(fū)),再就是QQ了。看着(zhe)迅雷7的(de)界面思(sī)考了(le)半天(真正(zhèng)的半天),我决定放弃模(mó)仿迅雷7的念(niàn)头,难度太大了。看着QQ的界面(miàn),觉得我做聊天(tiān)软件的可能性(xìng)不大,即使我把这(zhè)个皮(pí)肤做出来了(le)(当然难度也很大),在实际的项目中很难(nán)用到。后来(lái)有一天去(qù)机(jī)房的(de)时候看到一个管(guǎn)理人员在用Foxmail,我看(kàn)到这个(gè)软件的界面就眼前一(yī)亮:界(jiè)面效(xiào)果还可以,控件效果比较(jiào)简(jiǎn)单,做换肤的话应该比(bǐ)较容易实(shí)现。回来后赶紧下了(le)一个Foxmail装(zhuāng)上,一(yī)边研究一边开发(fā),花了2周的时间作出(chū)了一套仿Foxmail的皮肤控件,感觉相当(dāng)的兴奋(fèn),今天事情不(bú)多,就发到(dào)园(yuán)子里(lǐ)和大家分享一下(xià)。顺便也写一下设计思(sī)路,希望对有(yǒu)这(zhè)方面(miàn)需求的人有所帮助。
1、实现(xiàn)了调(diào)色(sè)和(hé)更(gèng)换底(dǐ)纹两种基本的换(huàn)肤功能,具体操(cāo)作方式(shì)在界面(miàn)中应该很(hěn)清楚的就能看出(chū)来了。
2、重(chóng)新开发(fā)了几(jǐ)个具有换肤功能(néng)的(de)控件,主要有Panel、Trackbar、TabControl和(hé)几个Strip控(kòng)件。
3、在换肤和调整窗体大(dà)小的时候没有很明显的(de)闪烁问题(tí)。(电脑的配置是奔(bēn)四(sì)处理器,4G内存,集成显卡。)
皮肤控件要处理的(de)颜色问题有(yǒu)两类,界(jiè)面的颜色(sè)和图片(piàn)的颜色。
先来说一下界面的颜色,在这套皮肤(fū)控件中,只使(shǐ)用了一(yī)个(gè)基准色BaseColor,其它(tā)的颜色都是通过这个BaseColor计算出来(lái)的。颜色的计算使用(yòng)HSL颜(yán)色比较方便,所以需要
先把RGB颜(yán)色转换为HSL颜色进行处(chù)理(lǐ),处理方式(shì)很简单(dān),就是(shì)加大(dà)或减(jiǎn)小颜色的L值,以实现加深或(huò)加浅颜色的目的(de),然(rán)后在将HSL颜色转换回RGB颜色在界(jiè)面上(shàng)使(shǐ)用。
