C#自定义控件,在项目工具箱中加入自定义控件,调用自定义控件

博客介绍了创建Windows自定义控件项目的步骤,包括在界面拖入控件并设置属性,如将picturebox1命名为picBox等。还说明了重新生成项目、将控件项目Debug里的dll文件拖进新winform项目工具箱,从而在新界面调用该控件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 新建一个windows自定义控件的项目
    在这里插入图片描述
  2. 在界面上拖入:一个picturebox1 , 6个label,1个button
    picturebox1命名为picBox,左边三个label的text改为:文件名称、文件大小、文件尺寸;右边的三个label的name改为lblName、lblLength、lblSize
    button的name属性改为btnOpen.
    在这里插入图片描述
    代码如下:
namespace 自定义控件
{
    public partial class UserControl1: UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }

        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();
                System.IO.FileInfo fiPicInfo = new System.IO.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();
            }
          
        }
    }
}

3、鼠标右键点击项目名,重新生成下
在这里插入图片描述
4、新建一个常规winform界面项目,打开自定义控件的文件,找到控件项目想的Debug里面的dll文件,拖进当前项目的工具箱中

在这里插入图片描述
5、在当前的界面中就可以调用这个控件了
在这里插入图片描述
参考链接:https://blog.youkuaiyun.com/xiongxuanwen/article/details/2605109


C#自定义控件制作与使用实例总结

引言

在软件开发过程中,控件作为用户界面的基本构件,扮演着至关重要的角色。C#作为一门流行的面向对象编程语言,提供了丰富的原生控件供开发者使用。然而,随着项目需求的日益复杂,原生控件往往无法满足特定的功能需求或用户体验要求。这时,开发自定义控件成为了一种有效的解决方案。本文通过一个详细的实例,介绍了如何在C#中创建和使用自定义控件,旨在帮助开发者扩展.NET Framework的基础控件功能,提升应用程序的个性化和功能性。

一、自定义控件的概念与意义

自定义控件是开发者根据特定需求创造的控件,旨在提供比原生控件更强大的功能、更好的用户体验或满足特定的业务逻辑。与原生控件相比,自定义控件具有更高的灵活性和可扩展性,可以根据项目需求进行定制,包括外观、行为以及与用户的交互方式。

在C#中,创建自定义控件通常涉及继承自UserControl类或其他现有控件类,并通过添加属性、方法和事件来扩展其功能。自定义控件不仅可以提高代码的复用性,还能简化用户界面的开发过程,使开发者能够更专注于业务逻辑的实现。

二、创建自定义控件的步骤
1. 新建控件库项目

首先,需要在Visual Studio中新建一个Windows窗体控件库项目。这个项目将专门用于开发和存储自定义控件。在创建项目时,选择“.NET Framework”作为目标框架,以确保与大多数Windows应用程序的兼容性。

2. 设计控件界面

在控件库项目中,从工具箱中拖拽所需的控件到设计界面上。本例中,我们添加了一个PictureBox控件用于显示图片,六个Label控件用于显示文件信息(文件名称、文件大小、文件尺寸),以及一个Button控件用于触发文件选择对话框。

  • PictureBox命名为picBox,并设置其背景为白色。
  • 将左侧的三个Label控件的Text属性分别设置为“文件名称”、“文件大小”、“文件尺寸”。
  • 将右侧的三个Label控件的Name属性分别设置为lblNamelblLengthlblSize,以便在代码中引用。
  • Button控件的Name属性设置为btnOpenText属性设置为“打开”。
3. 编写控件逻辑

在控件的代码文件中,需要为Button控件的Click事件编写处理程序。这个处理程序将负责打开文件选择对话框,读取用户选择的图片文件,并在PictureBox中显示该图片。同时,它还会更新Label控件的文本,以显示图片的文件名、大小和尺寸。

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();
        System.IO.FileInfo fiPicInfo = new System.IO.FileInfo(sPicPaht);
        long lPicLong = fiPicInfo.Length / 1024;
        string sPicName = fiPicInfo.Name;
        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.Image = new Bitmap(sPicPaht); // 直接加载图片,而非使用LoadAsync
        lblName.Text = sPicName;
        lblLength.Text = lPicLong.ToString() + " KB";
        lblSize.Text = bmPic.Size.Width.ToString() + "×" + bmPic.Size.Height.ToString();
    }
}
4. 重新生成控件库

在完成控件的设计和编码后,需要右键点击项目名,选择“重新生成”以编译控件库。这一步骤将生成包含自定义控件的DLL文件,该文件后续将被引用到Windows窗体应用程序中。

三、在Windows窗体应用程序中使用自定义控件
1. 新建Windows窗体应用程序项目

在Visual Studio中新建一个Windows窗体应用程序项目。这个项目将用于测试和使用我们之前创建的自定义控件。

2. 添加自定义控件到工具箱

打开自定义控件库项目的bin\Debug文件夹,找到生成的DLL文件。在Windows窗体应用程序项目中,右键点击工具箱中的任意位置,选择“选择项”。在弹出的对话框中,点击“浏览”按钮,找到并选中自定义控件的DLL文件。点击“打开”后,自定义控件将出现在工具箱中。

3. 拖拽自定义控件到窗体

从工具箱中拖拽自定义控件到Windows窗体的设计界面上。此时,窗体上将显示一个包含PictureBox、六个Label和一个Button的自定义控件。

4. 运行并测试应用程序

按F5运行Windows窗体应用程序。单击自定义控件上的“打开”按钮,选择一个图片文件。如果文件大小不超过400KB,图片将在PictureBox中显示,并且Label控件将更新以显示图片的文件名、大小和尺寸。

四、总结与展望

通过本例,我们详细介绍了如何在C#中创建和使用自定义控件。自定义控件的开发不仅提高了代码的复用性和应用程序的个性化程度,还简化了用户界面的开发过程。在实际项目中,自定义控件可以根据具体需求进行灵活定制,满足各种复杂的业务场景。

未来,随着软件开发技术的不断发展,自定义控件的开发将更加便捷和高效。开发者可以利用更先进的工具和技术来创建功能更强大、用户体验更好的自定义控件。同时,自定义控件的复用性和共享性也将得到进一步提升,促进软件开发社区的共同进步。

总之,自定义控件的开发是提升C#应用程序功能和用户体验的重要手段。通过不断学习和实践,开发者可以掌握更多关于自定义控件开发的技巧和方法,为软件开发事业贡献自己的力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值