c#_創(chuàng)建不規(guī)則窗體(窗口)的幾種方式

c#_創(chuàng)建不規(guī)則窗體(窗口)的幾種方式

ID:44753120

大?。?61.50 KB

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

時(shí)間:2019-10-28

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)容在行業(yè)資料-天天文庫(kù)。

1、一、自定義窗體,一般為規(guī)則的圖形,如圓、橢圓等。做法:重寫Form1_Paint事件(Form1是窗體的名字),最簡(jiǎn)單的一種情況如下:System.Drawing.Drawing2D.GraphicsPathshape=newSystem.Drawing.Drawing2D.GraphicsPath();shape.AddEllipse(0,0,this.Height,this.Width);this.Region=newRegion(shape);即重繪窗體的規(guī)則。二、利用背景圖片實(shí)現(xiàn)1.??????設(shè)置窗體的背景圖片,其中背景圖片是24位(

2、不包括24)以下的位圖(BMP圖片),并且要設(shè)置TansparencyKey的值,一般為你背景圖片的背景色,即創(chuàng)建不規(guī)則圖片時(shí)的底色,一般設(shè)為你圖片中沒(méi)有的顏色。這種做法的不好的地方就是背景圖片一定要16位或者更低的,而且還要確??蛻舳说娘@示。如果監(jiān)視器的顏色深度設(shè)置大于24位,則不管TransparencyKey屬性是如何設(shè)置的,窗體的非透明部分都會(huì)產(chǎn)生顯示問(wèn)題。若要避免出現(xiàn)這種問(wèn)題,請(qǐng)確?!帮@示”控制面板中的監(jiān)視器顏色深度的設(shè)置小于24位。當(dāng)開(kāi)發(fā)具有這種透明功能的應(yīng)用程序時(shí),請(qǐng)牢記應(yīng)使您的用戶意識(shí)到此問(wèn)題。實(shí)現(xiàn)步驟如下:1.?新建windo

3、wsapplication2.?選擇窗體,找到BackgroundImage屬性,點(diǎn)擊打開(kāi)新的窗口,選擇下面的導(dǎo)入資源文件,選擇你的不規(guī)則的BMP圖片3.?找到窗體的TansparencyKey,將它設(shè)置為你背景圖片的背景色(如黃色)4.?找到窗體的FormBorderStyle,將其設(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

4、應(yīng)用程序2.?找到窗體的Load事件,雙擊進(jìn)行編輯3.?編寫方法,主要的代碼如下:??代碼????class?BitmapRegion????{????????public?BitmapRegion()????????{?}????????///?

?????????///?Create?and?apply?the?region?on?the?supplied?control????????///?創(chuàng)建支持位圖區(qū)域的控件(目前有button和form)????????///??????????///?

5、am?name="control">The?Control?object?to?apply?the?region?to控件?????????///?The?Bitmap?object?to?create?the?region?from位圖?????????public?static?void?CreateControlRegion(Control?control,?Bitmap?bitmap)????????{????????????//?Return?if?contro

6、l?and?bitmap?are?null????????????//判斷是否存在控件和位圖????????????if?(control?==?null?

7、

8、?bitmap?==?null)????????????????return;????????????//?Set?our?control''s?size?to?be?the?same?as?the?bitmap????????????//設(shè)置控件大小為位圖大小????????????control.Width?=?bitmap.Width;????????????control.Hei

9、ght?=?bitmap.Height;????????????//?Check?if?we?are?dealing?with?Form?here?????????????//當(dāng)控件是form時(shí)????????????if?(control?is?System.Windows.Forms.Form)????????????{????????????????//?Cast?to?a?Form?object????????????????//強(qiáng)制轉(zhuǎn)換為FORM????????????????Form?form?=?(Form)control;???

10、?????????????//?Set?our?form''s?size?to?be?a?little?larger?that?the??bitmap

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

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

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(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)系客服處理。