您好,登錄后才能下訂單哦!
本篇文章為大家展示了C#中怎么自定義一個用戶控件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
C#自定義用戶控件制作
***步:新建一個控件庫項目: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(); } }
第四步:測試C#自定義用戶控件
按F5啟動調(diào)試,彈出如下窗體:
單擊“打開”按鈕,彈出打開文件對話框:
選擇一張圖片,單擊“打開”,可以看到在picBox上顯示了打開的圖片:
第五步:查看成生的控件文件,到該項目文件目錄下的bin->debug中可找到。
C#自定義用戶控件測試
***步:新建一個C# Windows 應用程序,名為TestMyButton.
第二步:增加自定義的用戶控件
右鍵單擊工具箱中任意一個控件,彈出右鍵菜單如下:
單擊“選擇項”,彈出如下對話框:
單擊“瀏覽”,彈出打開對話框:
選中控件文件 mybutton.dll ,單擊“打開”按鈕,回到自定義工具箱,系統(tǒng)會默認把你剛才選中的控件打上勾。
返回vs編輯器,可看到工具箱中多出了一個UserControl:
第三步:拖動1個自定義的控件到測試窗口
第四步 測試程序
單擊“打開”按鈕:
選擇一個圖片,打開,顯示該圖:
上述內(nèi)容就是C#中怎么自定義一個用戶控件,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。