c#自定义控件

c#自定义控件

Windows 窗体控件是可再次使用的组件,它们封装了用户界面功能,并且可以用于客户端 Windows 应用程序。“Windows 窗体”不仅提供了许多现成控件,还提供了自行开发控件的基础结构。可以组合现有控件、扩展现有控件或创作自己的自定义控件。Windows 窗体控件是从 System.Windows.Forms.Control 直接或间接派生的类。以下列表描述了开发 Windows 窗体控件的常见方案:

组合现有控件来创作一个复合控件。

复合控件封装有一个可以作为控件重复使用的用户界面。可视化设计器为创建复合控 件提供了有力的支持。要创作一个派生自 System.Windows.Forms.UserControl 的复合控件。基类 UserControl 为子控件提供了键盘路由并使子控件可以作为一个组进行工作。

扩展现有控件,对其进行自定义或为其添加功能。

可以通过从任何 Windows 窗体控件派生控件并重写或添加属性、方法和事件的方式来自定义 Windows 窗体控件。

创作一个不是通过组合或扩展现有控件而形成的控件。

在这种方案中,需从基类 System.Windows.Forms.Control 派生控件。可以添加和重写基类的属性、方法和事件,来制作功能强大,能满足自己需求的控件。

示例一:
自定义Lable控件的字体大小,拖出来后不用每次都改字体大小!

1c#自定义控件(你学费了吗).c#自定义控件(你学费c#自定义控件(你学费了吗)了吗)c#自定义控件(你学费了吗)

1.打开VS2017
在这里插入图片描述

2.新建项目

3.在资源文件夹中创建自定义控件类

在这里插入图片描述
在这里插入图片描述

4.修改基类为Lable

PS:这里根据需求修改,如要自定义TextBox则基类为TextBox

在这里插入图片描述
5.在方法中写入默认字体以及默认大小

在这里插入图片描述

6.生成控件,并添加到工具箱

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.打开要放入控件的窗体,打开工具箱

在这里插入图片描述

8.向窗体里拖入控件

在这里插入图片描述

附MyLable全部代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 123
{
    public partial class MyLable : Label
    {
        public MyLable()
        {
            base.Font = new System.Drawing.Font("宋体", 18);
        }
      
    }
}

示例二(组合控件):

1.打开VS2017
在这里插入图片描述

2.新建项目

3.在资源文件夹中创建用户控件

在这里插入图片描述

在这里插入图片描述

4.向类中拖入要组合的控件

在这里插入图片描述

5.当我们需要给组合控件中的label标签赋值时,需要给其写入方法,用来为其文本赋值

例如:我要给label2控件的文本赋值

  public string LabelText
        {
            get { return label2.Text; }
            set { label2.Text = value; }
        }

用过此方法来给文本赋值

6.生成控件,并添加到工具箱

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.从工具箱找到控件,拖入控件

在这里插入图片描述

在这里插入图片描述

8.使用控件名.LabelText="你想赋值的文本"来给文本赋值,并运行程序

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值