欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#创建自定义控件的示例

时间:2021-04-09 09:00:53|栏目:.NET代码|点击:

在编程过程中,现有的c#控件远远不能满足我们的需要,这时候就需要我们自己来开发控件了。本人在开发自定义控件时走了一些弯路,写下此篇,希望能够给有需要的朋友一些帮助,也借此加深自己的印象。

1.创建自定义控件

2.添加控件,组合成一个新的控件

自定义控件功能:打开一张图片,将图片展示在pictureBox控件中,并将图片的名称、大小、尺寸显示出来

控件如下:

pictureBox1:命名为picBox

label1~label6 :左边三个显示文字,右边三个命名为:lblName lblLength lblSize

button1:命名为btnOpen

代码如下:

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 WindowsFormsControlLibrary1
{
  public partial class UserControl1: UserControl
  {
    public UserControl1()
    {
      InitializeComponent();
    }
 
    private void button1_Click(object sender, EventArgs e)
    {
      OpenFileDialog ofdPic = new OpenFileDialog();
      ofdPic.Filter = "JPG(*.JPG;*.JPEG);gif文件(*.GIF);PNG(*.PNG)|*.jpg;*.jpeg;*.gif;*.png";
      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();
      }
 
    }
  }
}

点击【解决方案】,右键弹出窗口,点击【生成解决方案】

至此,自定义控件的创建已经完成!

生成的控件路径在Debug文件夹下,dll文件

3.自定义控件测试

新建windows窗体应用程序

发现在左边的控件工具栏中并没有刚刚的自定义控件,不要急!!

选择工具下的【选择工具箱项】

浏览,选择dll文件路径,注意路径中不能包含中文字符,切记!否则会出错!

添加成功后,会发现工具箱中出现了刚刚定义的控件。

测试结果:

上一篇:ASP.NET操作MySql数据库的实例代码讲解

栏    目:.NET代码

下一篇:asp.net中穿透Session 0 隔离(二)

本文标题:C#创建自定义控件的示例

本文地址:http://www.codeinn.net/misctech/97683.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有