欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析C#自定義控件的制作與使用實(shí)例的詳解

 更新時(shí)間:2013年05月22日 18:23:57   作者:  
本篇文章是對(duì)C#中自定義控件的制作與使用實(shí)例進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
上篇:控件制作
本例是制作一個(gè)簡(jiǎn)單的自定義控件,然后用一個(gè)簡(jiǎn)單的測(cè)試程序,對(duì)于初學(xué)者來(lái)說(shuō),本例子比較簡(jiǎn)單,只能起到拋石引玉的效果。
我也是在學(xué)習(xí)當(dāng)中,今后會(huì)將自己所學(xué)的逐步寫(xiě)出來(lái)和大家交流共享。
第一步:新建一個(gè)控件庫(kù)項(xiàng)目:myControl



第二步:從工具箱里面拖動(dòng)1個(gè)PictureBox、1個(gè)Button、6個(gè)Lable控件到用戶界面上,布局如下:



如上圖,設(shè)置pictureBox的Name為picBox,背景為白色,Button的Name為btnOpen,另外靠左的三個(gè)Lable的Text屬性分別為:文件名稱,文件大小,文件尺寸,靠右的三個(gè)Lable的Name分別為:lblName, lblLength, lblSize.
第三步:添加處理程序代碼
在btnOpen的Click事件寫(xiě)入代碼,打開(kāi)一個(gè)打開(kāi)文件對(duì)話框,選擇一個(gè)圖形文件,打開(kāi)并將它顯示在picBox上。
復(fù)制代碼 代碼如下:

private void btnOpen_Click(object sender, EventArgs e)
{
OpenFileDialog ofdPic = new OpenFileDialog();
ofdPic.Filter = "JPG(*.JPG;*.JPEG);gif文件(*.GIF)|*.jpg;*.jpeg;*.gif";
ofdPic.FilterIndex = 1;
ofdPic.RestoreDirectory = true;
ofdPic.FileName = "";
if (ofdPic.ShowDialog() == DialogResult.OK)
{
string sPicPaht = ofdPic.FileName.ToString();
FileInfo fiPicInfo = new FileInfo(sPicPaht);
long lPicLong = fiPicInfo.Length / 1024;
string sPicName = fiPicInfo.Name;
string sPicDirectory = fiPicInfo.Directory.ToString();
string sPicDirectoryPath = fiPicInfo.DirectoryName;
Bitmap bmPic = new Bitmap(sPicPaht);
if (lPicLong > 400)
{
MessageBox.Show("此文件大小為" + lPicLong + "K;已超過(guò)最大限制的K范圍!");
}
else
{
Point ptLoction = new Point(bmPic.Size);
if (ptLoction.X > picBox.Size.Width || ptLoction.Y > picBox.Size.Height)
{
picBox.SizeMode = PictureBoxSizeMode.Zoom;
}
else
{
picBox.SizeMode = PictureBoxSizeMode.CenterImage;
}
}
picBox.LoadAsync(sPicPaht);
lblName.Text = sPicName;
lblLength.Text = lPicLong.ToString() + " KB";
lblSize.Text = bmPic.Size.Width.ToString() + "×" + bmPic.Size.Height.ToString();
}
}

第四步:測(cè)試控件
按F5啟動(dòng)調(diào)試,彈出如下窗體:


單擊“打開(kāi)”按鈕,彈出打開(kāi)文件對(duì)話框:
選擇一張圖片,單擊“打開(kāi)”,可以看到在picBox上顯示了打開(kāi)的圖片:
第五步:查看成生的控件文件,到該項(xiàng)目文件目錄下的bin->debug中可找到。
 
下篇:控件測(cè)試
第一步:新建一個(gè)C# Windows 應(yīng)用程序,名為T(mén)estMyButton.
 
第二步:增加自定義的用戶控件
右鍵單擊工具箱中任意一個(gè)控件,彈出右鍵菜單如下:

單擊“選擇項(xiàng)”,彈出如下對(duì)話框:

單擊“瀏覽”,彈出打開(kāi)對(duì)話框:

選中控件文件 mybutton.dll ,單擊“打開(kāi)”按鈕,回到自定義工具箱,系統(tǒng)會(huì)默認(rèn)把你剛才選中的控件打上勾。

返回vs編輯器,可看到工具箱中多出了一個(gè)UserControl:
 
第三步:拖動(dòng)1個(gè)自定義的控件到測(cè)試窗口

第四步 測(cè)試程序
 

單擊“打開(kāi)”按鈕:

選擇一個(gè)圖片,打開(kāi),顯示該圖:
測(cè)試成功。
 

相關(guān)文章

  • 深入淺析C#泛型類(lèi)型

    深入淺析C#泛型類(lèi)型

    這篇文章主要介紹C#泛型類(lèi)型,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • C# 匿名方法基礎(chǔ)回顧

    C# 匿名方法基礎(chǔ)回顧

    本篇文章主要介紹了C#的匿名方法的參數(shù)使用范圍以及委托示例。具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • 詳解C#擴(kuò)展方法原理及其使用

    詳解C#擴(kuò)展方法原理及其使用

    這篇文章主要介紹了C#擴(kuò)展方法原理及其使用的的相關(guān)資料,文中代碼非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • C#中List.Contains(T)失效的解決方法

    C#中List.Contains(T)失效的解決方法

    這篇文章主要介紹了C#中List.Contains(T)失效的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • C#獲取目錄最后訪問(wèn)時(shí)間的方法

    C#獲取目錄最后訪問(wèn)時(shí)間的方法

    這篇文章主要介紹了C#獲取目錄最后訪問(wèn)時(shí)間的方法,涉及C#中LastAccessTime方法的使用技巧,需要的朋友可以參考下
    2015-04-04
  • 淺談C#下winform和JS的互相調(diào)用和傳參(webbrowser)

    淺談C#下winform和JS的互相調(diào)用和傳參(webbrowser)

    下面小編就為大家?guī)?lái)一篇淺談C#下winform和JS的互相調(diào)用和傳參(webbrowser)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • C#如何處理JSON

    C#如何處理JSON

    這篇文章主要介紹了C#如何處理JSON問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • C#集合之隊(duì)列的用法

    C#集合之隊(duì)列的用法

    這篇文章介紹了C#集合之隊(duì)列的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 淺談C#單例模式的實(shí)現(xiàn)和性能對(duì)比

    淺談C#單例模式的實(shí)現(xiàn)和性能對(duì)比

    這篇文章主要介紹了淺談C#單例模式的實(shí)現(xiàn)和性能對(duì)比的相關(guān)資料,詳細(xì)的介紹了6種實(shí)現(xiàn)方式,需要的朋友可以參考下
    2017-09-09
  • C#獲取進(jìn)程的主窗口句柄的實(shí)現(xiàn)方法

    C#獲取進(jìn)程的主窗口句柄的實(shí)現(xiàn)方法

    C#獲取進(jìn)程的主窗口句柄的實(shí)現(xiàn)方法,需要的朋友可以參考一下
    2013-04-04

最新評(píng)論