C#自定义控件的实现

来源:互联网 发布:同时学多个编程语言 编辑:程序博客网 时间:2024/05/16 01:01

1、首先新建一个窗体控件库


2、从工具箱里拖出一个pictureBox,一个button,6个label,摆放控件


3、添加后台代码

using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;using System.IO;namespace 控件{    public partial class myUserControl: UserControl    {        public myUserControl()        {            InitializeComponent();        }        /// <summary>        /// 打开按钮        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void btnOpen_Click(object sender, EventArgs e)        {            OpenFileDialog mOpenDialog = new OpenFileDialog();            mOpenDialog.Title = "选择图片";            mOpenDialog.Filter = "JPG(*.JPG;*.JPEG);gif文件(*.GIF)|*.jpg;*.jpeg;*.gif";            mOpenDialog.FilterIndex = 1;            mOpenDialog.RestoreDirectory = true;            mOpenDialog.FileName = "";            if (mOpenDialog.ShowDialog() == DialogResult.OK)            {                string mPicPath = mOpenDialog.FileName.ToString();  //图片路径和名称                FileInfo mFileInfo = new FileInfo(mPicPath);                string mFileName = mFileInfo.Name;  //文件名称                long mPicLength = mFileInfo.Length / 1024;                Bitmap mBitmap = new Bitmap(mPicPath);                                Point mPoint = new Point(mBitmap.Size);                if (mPoint.X > this.picBox.Size.Width || mPoint.Y > this.picBox.Size.Height)                {                   this.picBox.SizeMode = PictureBoxSizeMode.Zoom;                }                else                {                    this.picBox.SizeMode = PictureBoxSizeMode.StretchImage;                 }                                   this.picBox.LoadAsync(mPicPath);                //this.picBox.Image = Image.FromFile(mPicPath);                this.labName.Text = mFileName;                this.labSize.Text = mBitmap.Size.Width.ToString() + "x" + mBitmap.Size.Height.ToString();                this.labLength.Text = mPicLength.ToString() + "KB";            }        }            }}
4、调试控件

5、生成的控件的dll文件在项目目录中的obj -->Debug中,下一步就是要在新建的项目中导入这个dll文件。

6、使用自定义控件

6.1新建一个窗体程序

在工具箱中随便选择一个控件,点击右键,选择“选择项”

选择“浏览”,找到自定义控件项目的obj->Debug目录,选择dll文件

d

点击“确定”以后,发现自定义控件已经出现在了工具箱中,此时就可以直接从工具箱里拖出来用了。



ok,成功!

如果想要在主程序中修改自定义控件上的控件的属性值,可以在制作自定义控件的项目中用get set的方式为要操作的属性值提供一个外部操作接口。

参考博文:http://www.cnblogs.com/xiongxuanwen/archive/2008/07/02/1992387.html

原创粉丝点击