1. 程式人生 > >(轉)C# 自定義使用者控制元件

(轉)C# 自定義使用者控制元件

C# 自定義使用者控制元件

 

轉:https://blog.csdn.net/xiongxuanwen/article/details/2605109

本例是製作一個簡單的自定義控制元件,然後用一個簡單的測試程式,對於初學者來說,本例子比較簡單,只能起到拋石引玉的效果。

我也是在學習當中,今後會將自己所學的逐步寫出來和大家交流共享。

 

第一步:新建一個控制元件庫專案:myControl

 

第二步:從工具箱裡面拖動1個PictureBox、1個Button、6個Lable控制元件到使用者介面上,佈局如下:

       如上圖,設定pictureBox的Name為picBox,背景為白色,Button的Name為btnOpen,另外靠左的三個Lable的Text屬性分別為:檔名稱,檔案大小,檔案尺寸,靠右的三個Lable的Name分別為:lblName, lblLength, lblSize.

 

第三步:新增處理程式程式碼

在btnOpen的Click事件寫入程式碼,開啟一個開啟檔案對話方塊,選擇一個圖形檔案,開啟並將它顯示在picBox上。

 

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;已超過最大限制的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();

}

}

 

第四步:測試控制元件

按F5啟動除錯,彈出如下窗體:

單擊“開啟”按鈕,彈出開啟檔案對話方塊:

選擇一張圖片,單擊“開啟”,可以看到在picBox上顯示了開啟的圖片:

第五步:檢視成生的控制元件檔案,到該專案檔案目錄下的bin->debug中可找到。

 

下篇:控制元件測試

第一步:新建一個C# Windows 應用程式,名為TestMyButton.

 

第二步:增加自定義的使用者控制元件

右鍵單擊工具箱中任意一個控制元件,彈出右鍵選單如下:

單擊“選擇項”,彈出如下對話方塊:

單擊“瀏覽”,彈出開啟對話方塊:

選中控制元件檔案 mybutton.dll ,單擊“開啟”按鈕,回到自定義工具箱,系統會預設把你剛才選中的控制元件打上 勾。

返回vs編輯器,可看到工具箱中多出了一個UserControl:

 

第三步:拖動1個自定義的控制元件到測試視窗

第四步 測試程式

單擊“開啟”按鈕:

選擇一個圖片,開啟,顯示該圖:

測試成功。