麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C#個(gè)性化窗體界面的制作方法

2023-05-10 18:49:29
字體:
供稿:網(wǎng)友

引言:

誰都希望自己的應(yīng)用程序能讓人留下一個(gè)深刻的印象,讓自己的程序窗體有一件與眾不同的"外衣"是一個(gè)好辦法。試想:在一大堆的普通窗口中突然跳出一個(gè)很酷的界面,一定能讓人眼睛一亮進(jìn)而產(chǎn)生興趣的。

在VB,VC中如何定制可伸縮個(gè)性化窗口早就不是什么秘密了,已經(jīng)有了大量相關(guān)的文章進(jìn)行介紹,無非都是如何調(diào)用系統(tǒng)API之類的方法,但是在.Net中調(diào)用API卻相對比較麻煩,所以使用.Net制作個(gè)性化窗體的文章也有一些,一般都是使用透明背景加圖片的方式,所以不能移動或者不能任意放大縮小窗體。

那有沒有不需要調(diào)用系統(tǒng)API的方法來實(shí)現(xiàn)可伸縮的個(gè)性化窗體的辦法呢?當(dāng)然有,.Net Framework提供了一套非常強(qiáng)大的系統(tǒng)類庫,我們下面就要做一個(gè)使用"純".Net打造的可伸縮個(gè)性化窗體。

我們需要將窗體所有的"皮膚"全部換成我們自己定義的,包括標(biāo)題欄,邊框和系統(tǒng)按紐等,所以我們首先需要定做一套自己的皮膚圖形文件。因?yàn)榇绑w是可伸縮的,所以我們不能簡單的取一整幅圖片來作為窗體皮膚,而是根據(jù)需要先將圖片切割為不同的部分,一般來說,有以下圖示幾大部分(紅線為切割線):

根據(jù)方位,將圖片各部分命名為:Bottom_Left,Bottom_Middle,Bottom_Right,Middle_Left,Middle_Right,Top_Left,Top_Middle,Top_Right,SysButton_Min,SysButton_Max,SysButton_Close,SysButton_Restore等。注意,有些圖片是可以伸縮的地方,比如Middle_Left,Bottom_Middle等處的圖片可以只是一小塊,以后需要進(jìn)行重復(fù)貼圖。而有些固定大小的圖片,比如Bottom_Left,Top_Left等以后只用貼一次,實(shí)際應(yīng)用的時(shí)候要注意區(qū)分。

采用以上原則,你便可以制作皮膚圖片,圖示如下:

然后可以將這些圖片放到ImageList控件或資源文件中供程序調(diào)用。(關(guān)于如何制作資源文件請參考:Visual C#資源文件編程--創(chuàng)建資源文件)

接下來,我們使用Visual Studio .Net新建一個(gè)Windows應(yīng)用程序的項(xiàng)目,在窗體的屬性設(shè)置中,將窗體的FormBorderStyle屬性設(shè)置為None(無邊框樣式),如下圖所示:

定義一個(gè)資源管理器:

private ResourceManager rm ;

然后使用以下的方法在Form的構(gòu)造函數(shù)中將圖片取出來(資源文件名為Skin.resources):

rm = new ResourceManager("SkinWindow.Skin", Assembly.GetExecutingAssembly());
        Bottom_Left = (Bitmap)rm.GetObject("Bottom_Left");

…(其它的圖片也按照此方法取)

重載Form的OnPaint事件:

Graphics g = e.Graphics;//手工畫窗體的各個(gè)部分

DrawMiddle_Left(e.Graphics);//畫左邊框

DrawBottom_Middle(e.Graphics);//畫下邊框

DrawMiddle_Right(e.Graphics);//畫右邊框

DrawBottom_Left(e.Graphics);//畫左下角

DrawBottom_Right(e.Graphics);//畫右下角

DrawTop_Left(e.Graphics);//畫標(biāo)題欄左邊

DrawTop_Right(e.Graphics);//畫標(biāo)題欄右邊

DrawTop_Middle(e.Graphics);//畫標(biāo)題欄中間

DrawSys_Button(e.Graphics);//畫系統(tǒng)按紐

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美aaaaaaaa | 中国洗澡偷拍在线播放 | 亚洲最大av网站 | 在线观看免费视频麻豆 | 国产成人在线观看免费网站 | 精品国产一区二区三区成人影院 | 日本成人一二三区 | 国产精品一区二区三区在线播放 | 国产精品一区视频 | 国产精品午夜小视频观看 | 黑人日比 | 羞羞视频免费网站 | 日日草夜夜操 | 日韩.www| 午夜天堂在线视频 | videos真实高潮xxxx | 91在线色视频 | 午夜国产在线 | 一区二区精品视频在线观看 | 久草在线观看福利视频 | 久草在线高清视频 | 欧美成人鲁丝片在线观看 | 久色乳综合思思在线视频 | av在线免费在线观看 | 成人午夜一区二区 | 欧美精品久久天天躁 | 国产精选电影免费在线观看 | 红桃一区| 成人性视频免费网站下载软件 | 日韩黄网站 | 日本a∨精品中文字幕在线 狠狠干精品视频 | 午夜在线视频一区二区三区 | 新久草在线视频 | 毛片毛片免费看 | 日韩黄色成人 | 日韩中字在线 | 日本在线观看视频网站 | 国产九色在线观看 | 亚洲成人免费视频在线 | 香蕉久久久精品 | 亚洲免费视|