六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

使用C#開發(fā)用戶控制

[摘要]C#是微軟推出的新一代編程語言,用于開發(fā).net框架下的應(yīng)用。C#從C/C++演變而來,但是比C/C++更加簡單、安全。下面,我們通過用C#開發(fā)一個(gè)百分比控制來演示一下它的功能。 首先,準(zhǔn)備好開發(fā)環(huán)境,啟動(dòng)Visual Studio.net Beta2,選擇菜單文件->新建->項(xiàng)目,項(xiàng)...

C#是微軟推出的新一代編程語言,用于開發(fā).net框架下的應(yīng)用。C#從C/C++演變而來,但是比C/C++更加簡單、安全。下面,我們通過用C#開發(fā)一個(gè)百分比控制來演示一下它的功能。
首先,準(zhǔn)備好開發(fā)環(huán)境,啟動(dòng)Visual Studio.net Beta2,選擇菜單文件->新建->項(xiàng)目,項(xiàng)目類型選擇Visual C#項(xiàng)目,模板選擇Windows控件庫,名稱輸入Percent,按確定,建立一個(gè)項(xiàng)目。
切換到Percent.cs[設(shè)計(jì)]頁面,在解決方案資源管理器中將UserControl1.cs改為Percent.cs。從工具箱中拖一個(gè)Label控制到設(shè)計(jì)面板上,設(shè)置該Label的屬性:Name: lbPercent,BackColor: Transparent,Text: 100%,并拖拉Label的邊框,使其大小能剛好顯示出Text。右鍵在設(shè)計(jì)面板上單擊,從彈出菜單中選擇查看代碼,打開代碼編輯頁面。
可以看到名字空間為Percent,將光標(biāo)移動(dòng)到public class Percent : System.Windows.Forms.UserControl以下,輸入下面幾行:
private int iCurPercent = 0;
private Color clPercent = Color.Blue;
private Color clText = Color.Black;
以上定義并初始化了幾個(gè)私有變量,iCurPercent表示當(dāng)前的百分比進(jìn)度,clPercent為進(jìn)度的顏色,clText為中間顯示的百分比文本的顏色。
本控制擁有三個(gè)屬性,分別設(shè)置進(jìn)度條和文字的顯示顏色,以及當(dāng)前進(jìn)度。還定義了一個(gè)OnPercentChange事件,在百分比改變時(shí)觸發(fā)該事件。
在protected override void Dispose( bool disposing )后面添加以下內(nèi)容:
public delegate void PercentChangeHandler(int CurrentPercent);
public event PercentChangeHandler OnPercentChange;

public int CurrentPercent
{
get
{
return iCurPercent;
}
set
{
if ((value <= 100) && (value >= 0))
{
iCurPercent = value;
if (OnPercentChange != null)
OnPercentChange(iCurPercent);
this.Invalidate();
}
}
}

public Color PercentBackColor
{
get
{
return clPercent;
}
set
{
clPercent = value;
this.Invalidate();
}
}

public Color PercentTextColor
{
get
{
return clText;
}
set
{
clText = value;
this.Invalidate();
}
}
以上首先定義了事件,并在百分比改變時(shí)觸發(fā)。然后是三個(gè)屬性的實(shí)現(xiàn)。

下面,需要在Paint事件里改變Percent控制的顯示狀態(tài)。切換到設(shè)計(jì)頁面,選擇整個(gè)設(shè)計(jì)面板,在屬性視圖中將光標(biāo)移動(dòng)到Paint,按回車,代碼頁面里就自動(dòng)為Paint事件建立了框架,其中其一個(gè)參數(shù)為System.Windows.Forms.PaintEventArgs e,可以用這個(gè)參數(shù)干很多事情。先輸入以下畫百分比控制邊界的代碼:
Pen penBlack = new Pen(Color.Black, 1);
Point ptStart = new Point(0, 0);
Point ptEnd = new Point(this.Width - 1, 0);
e.Graphics.DrawLine(penBlack, ptStart, ptEnd);
ptStart = new Point(0, 0);
ptEnd = new Point(0, this.Height);
e.Graphics.DrawLine(penBlack, ptStart, ptEnd);

Pen penWhite = new Pen(Color.White, 1);
ptStart = new Point(this.Width - 1, 0);
ptEnd = new Point(this.Width - 1, this.Height);
e.Graphics.DrawLine(penWhite, ptStart, ptEnd);
ptStart = new Point(0, this.Height - 1);
ptEnd = new Point(this.Width, this.Height - 1);
e.Graphics.DrawLine(penWhite, ptStart, ptEnd);

SolidBrush brushFill = new SolidBrush(PercentBackColor);
Rectangle rcFill = new Rectangle(2, 2, iCurPercent * (this.Width - 3) / 100, this.Height - 3);
e.Graphics.FillRectangle(brushFill, rcFill);

lbPercent.Left = this.Width / 2 - lbPercent.Width / 2;
lbPercent.Top = this.Height / 2 - lbPercent.Height / 2;
lbPercent.Text = iCurPercent.ToString() + "%";
lbPercent.ForeColor = PercentTextColor;

在控制大小發(fā)生變化時(shí)也應(yīng)該刷新,在設(shè)計(jì)頁面,光標(biāo)移動(dòng)到Resize,回車,在Resize事件中寫下:this.Invalidate();
這樣,這個(gè)百分比控制就編完了。下面,我們?cè)诰帉懸粋(gè)測試程序來測試這個(gè)控制。選擇菜單:文件->添加項(xiàng)目->新建項(xiàng)目,項(xiàng)目類型選擇Visual C#項(xiàng)目,模板選擇Windows應(yīng)用程序,取名為TestPercent,按確定,建立一個(gè)Windows應(yīng)用程序框架。由于是添加了一個(gè)新項(xiàng)目,因此,解決方案資源管理器中就有了兩個(gè)項(xiàng)目:Percent和TestPercent。鼠標(biāo)在TestPercent上單擊右鍵,從彈出菜單中選擇“添加引用”,切換到“項(xiàng)目”頁面,項(xiàng)目名稱應(yīng)為“Percent”,雙擊該項(xiàng)目名稱,把它加到選定的組件里面,按確定。這樣,Percent組件就加到測試工程里了。用過VC的#import指令或者VB的引用的人對(duì)這個(gè)操作也許會(huì)感覺比較親切。
從工具箱中找到Percent控制,將其拖到測試工程的設(shè)計(jì)面板上擺好,再從工具箱里拖一個(gè)Button和一個(gè)Timer放好。雙擊Button,在其事件中寫下:timer1.Enabled = true; 再回到設(shè)計(jì)面板,雙擊Timer,在其事件中寫下:percent1.CurrentPercent = percent1.CurrentPercent + 1;將焦點(diǎn)移到用戶控制percent1上,找到事件OnPercentChange,回車,在程序框架中寫下:this.Text = CurrentPercent.ToString(); 這樣,測試程序就完成了。
下面運(yùn)行程序,將TestPercent設(shè)為啟動(dòng)項(xiàng)目,運(yùn)行,按下button1,可以看到進(jìn)度增加的同時(shí),窗口標(biāo)題也在發(fā)生變化。
通過這個(gè)簡單的用戶控制的編寫,我們可以體會(huì)到C#編程的簡便性,對(duì)其開發(fā)環(huán)境有個(gè)基本的了解。該控制也可以很容易地被其他開發(fā)工具,比如Visual Basic.net使用。
以上程序在C366, 128MB, Windows2000 Advanced Server SP2,Visual Studio.net Beta2中文版下編譯通過。

 




主站蜘蛛池模板: 天天爱天天舔 | 日韩国产成人精品视频 | 午夜性爽快免费视频播放 | 性夜a爽黄爽 | 亚洲www| 五月婷婷之婷婷 | 日韩大片免费看 | 热re99久久国产精品 | 天天看天天摸色天天综合网 | 天天躁狠狠躁夜躁2021 | 日韩在线手机看片免费看 | 亚洲精品中文字幕区 | 亚洲 欧美 91| 特黄特色一级特色大片中文 | 欧美特黄一免在线观看 | 欧美亚洲中日韩中文字幕在线 | 四虎影院免费视频 | 亚洲国产成人久久 | 四虎剧场| 日韩黄色毛片 | 亚洲网址在线 | 中文字幕 一区 婷婷 在线 | 欧美性猛交ⅹxxx乱大交免费 | 日本欧美视频在线观看 | 亚洲一区二区在线成人 | 亚洲黄色网页 | 亚洲国产精品成人午夜在线观看 | 亚洲欧美日韩国产精品一区 | 夜夜揉揉日日人人视频 | 欧美一卡二卡三卡四卡 | 涩涩涩涩涩涩涩涩涩涩 | 日本一本二本在线观看 | 亚洲免费专区 | 人人搞人人爱 | 亚洲精品在线网址 | 一级美女黄色片 | 在线天堂中文在线资源网 | 四虎影视免费永久在线观看黄 | 素人约啪| 日日艹夜夜艹 | 亚洲第一区二区快射影院 |