VS2010下制作winform自定义控件

VS下制作winform自定义控件

一、实现功能

简单化的图片打开功能,同时能显示图片名字、大小等信息。(其实该控件就是工具箱中pictuerboxlabelbutton控件的一个组合控件,只不过通过一些代码实现它的呈现图片信息的功能)

 

二、实现步骤

第一步:新建一个控件库项目:mycontrol

 

 

 

 

 

第二步:从工具箱里面拖动1个PictureBox、1个Button、6个Lable控件到用户界面上,布局如下:


如上图,设置pictureBoxNamepicBox,背景为白色,ButtonNamebtnOpen,另外靠左的三个LableText属性分别为:文件名称,文件大小,文件尺寸,靠右的三个LableName分别为:labelName, lableLength, labelSize.

 

第三步:添加处理程序代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace mycontrol
{
    public partialclass UserControl1 : UserControl
    {
        publicUserControl1()
        {
            InitializeComponent();
        }
        private void btnOpen_Click(objectsender, EventArgs e)
        {
            OpenFileDialog ofdPic = newOpenFileDialog();
            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 = newFileInfo(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);
                labelName.Text = sPicName;
                labelLength.Text = lPicLong.ToString()+ " KB";
                labelSize.Text =bmPic.Size.Width.ToString() + "×" + bmPic.Size.Height.ToString();
            }
        } 
    }
}
 
 


第四步  试运行,没有问题的话能正常显示

 

第五步

通过第四步说明运行正常,可以将成生的控件文件提取出来,控件dll文件可以到该项目文件目录下的bin->debug中可找到。接下来可以建立一个应用程序来进行测试。

1、新建一个C# Windows 应用程序,名为TestMyButton.

2、增加自定义的用户控件

右键单击工具箱中任意一个控件,弹出右键菜单如下

 

单击选择项,弹出如下对话框:

 

 

单击浏览,弹出打开对话框:

 

选中控件文件mybutton.dll ,单击打开按钮,回到自定义工具箱,系统会默认把你刚才选中的控件打上勾。

 

返回vs编辑器,可看到工具箱中多出了一个UserControl

 

 

然后可新建一个项目来验证!

 

你可能感兴趣的:(C#)