自定义控件

一:继承链:

窗口继承(Form Inheritance)是指:

  • 创建一个基类窗体(包含通用功能、控件和布局)

  • 派生窗体继承基类窗体的所有特性

  • 可以在派生窗体中添加新功能或修改现有行为

1.创建一个基窗口

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
}

2.创建一个子窗口 继承自基窗口

​
​
 public partial class Form2 : Form1
 {
     public Form2()
     {
         InitializeComponent();
         
        控件
         //子窗口自己创建的控件 Button
         new Button();
         继承链:Button ===>ButtonBase ====> Control(控件)===>Component(组件)
         
         //子窗口自己创建的控件 Lable
         new Label();
         继承链:Label ===>Control(控件)====>Component(组件)


        组件
         Timer ====>Component

         ScrollableControl 滚动控件 让控件支持水平和垂直的滚动条
         ContainerControl 容器控件 支持其他的控件向本控件中拖放
          Panel  ===> ScrollableControl
          Panel  容器

         用户控件
          UserControl ===>ContainerControl ===>ScrollableControl
          UserControl
   
     }

​

核心区别

特性 控件(Control) 组件(Component)
可视化表现 有可视化界面元素 无可视化界面元素
继承关系 继承自System.Windows.Forms.Control 继承自System.ComponentModel.Component
设计时支持 可以拖拽到窗体上并直接看到效果 出现在组件栏,运行时才有效果
用户交互 可以直接与用户交互 通常不与用户直接交互
典型示例 Button, TextBox, Label Timer, DataSet, SerialPort

C# 中控件和组件的区别:

  • 一般组件派生于:Component类,所以从此类派生出的称之为组件
  • 一般用户控件派生于:Control类或UserControl类,所以从该类派生出的称之为用户控件
  • 他们的关系是:UserControl继承==>Control==>继承Component
  • 概念:组件包括控件,控件肯定是组件,但组件不一定是控件.
  • 控件的突出特点:就是交互组件(能动,能和客户交互),二用户空间则是将某些特定的组件或控件复合从而实现特定一业务逻辑.

c#组件和控件的区别-OK_c# 控件 组件 区别-CSDN博客

二:自定义控件

控件: 自定义控件    官方控件

自定义控件:

  1. 完全自定义控件
  2. 扩展控件
  3. 用户控件

在 2.自定义控件中添加 组件类 分别是 MyLable MyTextbox MyTimer 分别 演示三种 自定义控件

Form1 底层代码

namespace _2.自定义控件
{
    public partial cla
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值