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="你想赋值的文本"来给文本赋值,并运行程序