詳解C#創(chuàng)建不規(guī)則窗體的幾種方式

詳解C#創(chuàng)建不規(guī)則窗體的幾種方式

ID:39624966

大?。?32.47 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-07-07

詳解C#創(chuàng)建不規(guī)則窗體的幾種方式_第1頁(yè)
詳解C#創(chuàng)建不規(guī)則窗體的幾種方式_第2頁(yè)
詳解C#創(chuàng)建不規(guī)則窗體的幾種方式_第3頁(yè)
詳解C#創(chuàng)建不規(guī)則窗體的幾種方式_第4頁(yè)
詳解C#創(chuàng)建不規(guī)則窗體的幾種方式_第5頁(yè)
資源描述:

《詳解C#創(chuàng)建不規(guī)則窗體的幾種方式》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、在這里我們將實(shí)現(xiàn)的是C#創(chuàng)建不規(guī)則窗體的幾種方式,包括自定義窗體,不規(guī)則圖形等等。希望對(duì)大家有所幫助。AD:現(xiàn)在,C#創(chuàng)建不規(guī)則窗體不是一件難事,下面總結(jié)一下:一、自定義窗體一般為規(guī)則的圖形,如圓、橢圓等。做法:重寫Form1_Paint事件(Form1是窗體的名字),最簡(jiǎn)單的一種情況如下:1.System.Drawing.Drawing2D.GraphicsPath?shape?=?new?System.Drawing.Drawing2D.GraphicsPath();?2.shape.AddEllips

2、e(0,0,this.Height,?this.Width);?3.this.Region?=?new?Region(shape);?即重繪窗體的規(guī)則。二、利用背景圖片實(shí)現(xiàn)1.??設(shè)置窗體的背景圖片,其中背景圖片是24位(不包括24)以下的位圖(BMP圖片),并且要設(shè)置TansparencyKey的值,一般為你背景圖片的背景色,即創(chuàng)建不規(guī)則圖片時(shí)的底色,一般設(shè)為你圖片中沒有的顏色。這種做法的不好的地方就是背景圖片一定要16位或者更低的,而且還要確保客戶端的顯示。如果監(jiān)視器的顏色深度設(shè)置大于24位,則不管Tr

3、ansparencyKey屬性是如何設(shè)置的,窗體的非透明部分都會(huì)產(chǎn)生顯示問題。若要避免出現(xiàn)這種問題,請(qǐng)確?!帮@示”控制面板中的監(jiān)視器顏色深度的設(shè)置小于24位。當(dāng)開發(fā)具有這種透明功能的應(yīng)用程序時(shí),請(qǐng)牢記應(yīng)使您的用戶意識(shí)到此問題。實(shí)現(xiàn)步驟如下:1.?新建windowsapplication2.?選擇窗體,找到BackgroundImage屬性,點(diǎn)擊打開新的窗口,選擇下面的導(dǎo)入資源文件,選擇你的不規(guī)則的BMP圖片3.?找到窗體的TansparencyKey,將它設(shè)置為你背景圖片的背景色(如黃色)4.?找到窗體的F

4、ormBorderStyle,將其設(shè)置為none,即不顯示標(biāo)題欄5.?運(yùn)行2.??????跟背景圖片一樣的圖形,不過(guò)是動(dòng)態(tài)加載,遍歷位圖以實(shí)現(xiàn)不規(guī)則窗體。它的原理是這樣的,在Form的load事件中寫方法使得窗體的描繪區(qū)域發(fā)生改變。實(shí)現(xiàn)步驟如下:1.?建立winform應(yīng)用程序2.?找到窗體的Load事件,雙擊進(jìn)行編輯3.?編寫方法,主要的代碼如下:1.class?BitmapRegion?2.{?3.????public?BitmapRegion()?4.????{?}?5.?

5、6.?7.????///?

??8.????///?Create?and?apply?the?region?on?the?supplied?control?9.????///?創(chuàng)建支持位圖區(qū)域的控件(目前有button和form)?10.????///???11.????///?The?Control?object?to?apply?the?region?to控件??12.????///?

6、"bitmap">The?Bitmap?object?to?create?the?region?from位圖??13.????public?static?void?CreateControlRegion(Control?control,?Bitmap?bitmap)?14.????{?15.????????//?Return?if?control?and?bitmap?are?null?16.????????//判斷是否存在控件和位圖?17.????????if?(control?==?nu

7、ll?

8、

9、?bitmap?==?null)?18.????????????return;?19.?20.????????//?Set?our?control''s?size?to?be?the?same?as?the?bitmap?21.????????//設(shè)置控件大小為位圖大小?22.????????control.Width?=?bitmap.Width;?23.????????control.Height?=?bitmap.Height;?24.????????//?Check?if?we?are?d

10、ealing?with?Form?here??25.????????//當(dāng)控件是form時(shí)?1.????????if?(control?is?System.Windows.Forms.Form)?2.????????{?3.????????????//?Cast?to?a?Form?object?4.????????????//強(qiáng)制轉(zhuǎn)換為FORM?5.????????????Form?form?=?(Form)c

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。