C# 自訂使用者控制項

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.