下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
創(chuàng)建項(xiàng)目自定義控件庫其實(shí)本質(zhì)上就是一個(gè)類庫,所以我們在創(chuàng)建項(xiàng)目時(shí)直接創(chuàng)建類庫項(xiàng)目。在創(chuàng)建好的類庫項(xiàng)目中添加“用戶控件”。實(shí)現(xiàn)思路整個(gè)控件其實(shí)是由四個(gè)部分組成的。第一個(gè)部分為一個(gè)固定顏色的底圓,第二部分是一個(gè)漸變色的扇形,第三部分是一個(gè)顏色與窗體背景色相同的上圓,第四部分是顯示百分比的文字。最后將這四個(gè)部分疊加起來就得到了我們最終想要得到的控件。實(shí)現(xiàn)過程1.繪制準(zhǔn)備在用戶控件中添加代碼,我們使用OnPaint事件來繪制控件,通過參數(shù)e來獲取畫布。并給畫布設(shè)置一些屬性。protectedoverridevoidOnPaint(PaintEventArgse)
{
base.OnPaint(e);
//
獲取畫布
Graphicsgraphics
=
e.Graphics;
//消除鋸齒
graphics.SmoothingMode
=
SmoothingMode.AntiAlias;
//文字顯示效果
graphics.TextRenderingHint
=
System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
//插補(bǔ)模式
graphics.InterpolationMode
=
InterpolationMode.HighQualityBicubic;
//圖片呈現(xiàn)質(zhì)量
graphics.CompositingQuality
=
CompositingQuality.HighQuality;
}2.繪制底圓我們在事件中繼續(xù)添加一些代碼,使用畫布的FillEllipse()方法繪制一個(gè)底圓,底圓的大小依照整個(gè)控件的大小創(chuàng)建。//
繪制底圓
SolidBrushbrush1
=
newSolidBrush(Color.FromArgb(93,
107,
153));
Rectanglerectangle1
=
newRectangle(1,
1,
this.Width
-
2,
this.Height
-
2);
graphics.FillEllipse(brush1,
rectangle1);測試效果如下:3.繪制扇形首先創(chuàng)建屬性與字段,以便使用屬性來控制扇形的區(qū)域,使得扇形的區(qū)域是可變的。//最大值
private
float
maxValue
=
100;
public
float
MaxValue
{
get
{
return
maxValue;
}
set
{
maxValue
=
value;
this.Invalidate();
}
}
//實(shí)際值
private
float
actureValue
=
60;
public
float
ActureValue
{
get
{
return
actureValue;
}
set
{
actureValue
=
value;
this.Invalidate();
}
}
//文字顯示值
private
float
PercentVal
=
0;繪制扇形的大小與底圓的大小相一致,顏色采用漸變色。//繪制扇形
Rectanglerectangle2
=
newRectangle(1,
1,
this.Width
-
2,
this.Height
-
2);
LinearGradientBrushbrush2
=
newLinearGradientBrush(rectangle2,
Color.Blue,
Color.Red,
150.0f,
true);
this.PercentVal
=
(ActureValue
/
MaxValue)
*
100;
graphics.FillPie(brush2,
rectangle2,
-90,
(ActureValue
/
MaxValue)
*
360f);測試效果如下:4.繪制上圓繪制上圓比較簡單,大小比底圓稍小,位置在整個(gè)控件中心,顏色與控件顏色相同。//繪制上圓
SolidBrushsolidBrushElipse
=
newSolidBrush(this.BackColor);
Rectanglerectangle3
=
newRectangle(15,
15,
this.Width
-
30,
this.Height
-
30);
graphics.FillEllipse(solidBrushElipse,
rectangle3);測試效果如下:5.繪制文字最后在控件的中心位置繪制文字//繪制文字
Fontfont
=
newFont("華為宋體",
14);
PointFpoint
=
newPointF(((float)this.Width)
/
2.0f
-
27,
((float)this.Height)
/
2.0f
-
10);
graphics.DrawString(this.PercentVal.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度消防設(shè)施安裝施工協(xié)議模板
- 2025年中國健身行業(yè)市場現(xiàn)狀、前景分析研究報(bào)告(智研咨詢發(fā)布)
- 鄉(xiāng)鎮(zhèn)烈士陵園管理合同范本
- 油品裝卸合同范本
- 2024年礦石產(chǎn)品銷售具體協(xié)議書
- 2024建筑施工人力資源服務(wù)協(xié)議
- 齊齊哈爾大學(xué)《工業(yè)企業(yè)管理導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024電腦經(jīng)銷商銷售協(xié)議樣本
- 2024年企業(yè)間股權(quán)轉(zhuǎn)讓協(xié)議范本
- 2024屆甘肅省武威市第二中學(xué)高考數(shù)學(xué)試題全練版
- 一例乳腺癌術(shù)后并發(fā)淋巴水腫患者的個(gè)案護(hù)理
- 產(chǎn)品系統(tǒng)設(shè)計(jì)開發(fā) 課件 第1、2章 產(chǎn)品系統(tǒng)設(shè)計(jì)概述、產(chǎn)品系統(tǒng)體系的構(gòu)成
- 課文明如廁班會
- 消毒供應(yīng)中心考試試題
- 人教版二年級語文上冊全冊拼音百詞競賽試卷(含答案)
- 高等數(shù)學(xué)知識點(diǎn)
- 中建高大模板專家論證施工方案
- “互聯(lián)網(wǎng)物流”課件
- 空乘職業(yè)學(xué)生職業(yè)規(guī)劃書
- 中國上市公司治理準(zhǔn)則(修訂稿)
- 中藥貼敷課件
評論
0/150
提交評論