上篇:控制項製作
本例是製作一個簡單的自訂控制項,然後用一個簡單的測試程式,對於初學者來說,本例子比較簡單,只能起到拋石引玉的效果。
我也是在學習當中,今後會將自己所學的逐步寫出來和大家交流共用。
第一步:建立一個控制項陳列庫項目: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個自訂的控制項到測試視窗第四步 測試程式 單擊“開啟”按鈕:選擇一個圖片,開啟,顯示該圖:測試成功。