winform 入门篇 复合控件

复合控件

自定义控件

除了框架自带的标准控件外,还可以自定义控件
有三种方式:
1 复合控件:将标准控件组合起来
class YourControl : UserControl{}

2 扩展控件:继承于标准控件
class YourControl : Button {}

3 自定义控件:完全地自定义一个控件
class YourControl : Control {}

复合控件

复合控件:将标准控件组合起来,作为新的控件
展示:定义了一个搜索框控件
1 在工具箱里,显示 SearchBox 控件
在这里插入图片描述

2 将控件添加到窗口
3 设置控件的 Text 属性
在这里插入图片描述

4 添加事件处理:SearchEvent
在这里插入图片描述

分析:

SearchBox实际是由一个TextBox和一个 PictureBox组合而成。它是一个复合控件。

自定义的属性
自定义的事件

要点与细节

如果想要在工具箱里进行显示,需要做如下设置

1工具|选项,Windows窗体设计器|常规
在这里插入图片描述

自动填充工具箱:设为True
在这里插入图片描述

添加复合控件

复合控件,一般也称为用户控件 UserControl

演示:

添加一个复合控件。。
添加类|用户控件(Windows 窗体)
在这里插入图片描述
在这里插入图片描述

可视化编辑

在这里插入图片描述

向复合控件中,添加文本框 TextBos, 图片框 PictureBox

在这里插入图片描述

设置背景色 BackColor,边框 BorderStyle FixedSingle

在工具箱中显示

严格按以下步骤操作,才能显示:
1工具|选项,Windows窗体设计器|常规
自动填充工具箱:设为True
在这里插入图片描述

2 添加自定义控件
在这里插入图片描述

3 生成解决方案 F7
在这里插入图片描述

4 重新打开Form1.cs,在工具箱界面可以看到自己的控件
在这里插入图片描述

修改复合控件

在窗口设计器中,更改复合控件的布局
参考《图文教程》文档
重新生成项目|重新打开Form1.cs。。才能够在Form1中刷新显示

1.添加图片资源
在这里插入图片描述
在这里插入图片描述
设置为居中显示
在这里插入图片描述

2 添加布局器
在这里插入图片描述

在这里插入图片描述
调整控件属性
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时拖拽 控件
在这里插入图片描述

要点与细节

1 工具箱里显示的是当前项目中的自定义控件
项目中有的,它才会显示

2 自定义控件的刷新修改
自定义控件后,不会立即体现在Form1窗口

使用复合控件

演示:在Form中使用复合控件
最简单的办法:将各个子控件设为public,即可以直接访问。。

文本框
在这里插入图片描述
图片
在这里插入图片描述

此时可以发现,在SearchBox.Designer.cs 中 代码已经跟随改变了

在这里插入图片描述

在Form1中,调用修改自定义控件属性

在这里插入图片描述
运行结果
在这里插入图片描述

添加事件处理
在这里插入图片描述

运行结果

在这里插入图片描述

自定义属性

在自定义控件时,可以添加一些属性,在设计器的属性面板里可以直接编辑。

演示:
添加属性

在这里插入图片描述

重新生成解决方案

在这里插入图片描述

此时重新打开Form1.cs 查看属性

在这里插入图片描述

属性可以添加一些Attribute限定
(相当于 Java里的注解语法)

例如:
[Browsable(true)] (设置属性显示是否)
[Category(“Appearance”)] (分类,默认在杂项中)
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] 设计器是否自动设置代码

[Description(“搜索框中的文本”)]

eg1:

在这里插入图片描述

结果

在这里插入图片描述

Browsable(true)]

设置属性显示是否

在这里插入图片描述

此时查看属性栏,发现‘xyz‘项已经不在显示

在这里插入图片描述

[Category(“Appearance”)]

分类,默认在杂项中。Appearance 外观中
在这里插入图片描述

结果:

在这里插入图片描述

重写属性

属性也可以重写。例如,可以重写UserControl的Text 属性。。
public override string Text
{
}

演示

在这里插入图片描述

在这里插入图片描述

自定义事件

在自定义控件时,还可以添加自定义的事件。

自定义的事件会出现在事件面板里

演示:。
在这里插入图片描述

结果:
在这里插入图片描述

首先选择图片框,选择他的点击事件

在这里插入图片描述

双击创建
在这里插入图片描述

现在在Form1.cs 中,点击该事件

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

运行

在这里插入图片描述

简化事件 是否为空 的判断
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/623349.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVVM、MVC、MVP的区别

MVC、MVP 和 MVVM 是三种常见的软件架构设计模式,主要通过分离关注点的方式来组织代码结构,优化开发效率。 在开发单页面应用时,往往一个路由页面对应了一个脚本文件,所有的页面逻辑都在一个脚本文件里。页面的渲染、数据的获取&a…

Linux系统部署可视化数据多维表格APITable并实现无公网IP远程协同办公

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-G5XdKx1vxX0o0PES {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

基于springboot实现人事管理系统项目【项目源码+论文说明】

基于springboot实现人事管理系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,作为学校以及一些培训机构,都在用信息化战术来部署线上学习以及线上考试,可以与线下的考试有机的结合在一起,实现基于vue的人事系统在技术…

【详细】OSPF vs RIP

目录 内部网关协议IGP 按照算法原理分 按照适用范围分 两者优缺点比较 RIP协议 RIP的两个版本区别 RIPv2认证功能 RIP协议优缺点 RIP协议路由环路发生原理及处理方式 造成路由环路的原因: 路由环路的危害 路由环路解决方法​编辑 OSPF协议 Router-ID&a…

探索C# 11与.NET 7:入门指南与跨平台开发

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

OpenHarmony开发实例:【新闻客户端】

介绍 本篇Codelab我们将教会大家如何构建一个简易的OpenHarmony新闻客户端(JS版本)。应用包含两级页面,分别是主页面和详情页面,两个页面都展示了丰富的UI组件,其中详情页的实现逻辑中还展示了如何通过调用相应接口&a…

Day 23 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结篇

修剪二叉搜索树 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>L) 。你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。 ​ 最直接的想法&#xff0…

天工杂志社《天工》杂志社2024年第5期目录

业界翘楚 巍巍者昆仑 煌煌者华夏 乔彦鹏; 6-8 工美史话 日月之光照澈幽冥——墓葬铜镜中柿蒂纹意象辨析 周昕怡;刘春芽; 9-11 西藏传统手工艺技能教育发展历程研究 吕元菊; 12-14 探索研究《天工》投稿:cn7kantougao163.com 传统装饰艺术设计美学的…

车载摄像头画质增强解决方案,赋能智能驾驶新时代

在智能化浪潮席卷汽车产业的今天,车载摄像头作为智能驾驶的“眼睛”,其画质清晰度直接关系到车辆感知环境的准确性和驾驶的安全性。然而,面对复杂多变的行车环境,如何确保车载摄像头在不同场景下都能呈现出高质量的图像&#xff0…

mPEG-Succinic Acid是一种由甲氧基聚乙二醇(MPEG)和丁二酸(Succinic Acid,简称SA)组成的共聚物

【试剂详情】 英文名称 mPEG-SA,mPEG-Succinic Acid, Methoxy PEG SA 中文名称 聚乙二醇单甲醚丁二酸, 甲氧基-聚乙二醇-丁二酸 外观性状 固体/粉末 分子量 1k,2k,3.4k,5k,6k&#xff0…

引领智能互联时代,紫光展锐赋能百业创新发展

随着5G技术的快速发展,各行各业对通信技术的需求也在不断升级。紫光展锐持续深耕5G垂直行业,不断推进5G标准演进,从R15到R16,再到R17,展锐携手生态合作伙伴,不断推出创新性解决方案,在5G RedCap…

Pytorch-张量形状操作

😆😆😆感谢大家的观看😆😆 🌹 reshape 函数 transpose 和 permute 函数 view 和 contigous 函数 squeeze 和 unsqueeze 函数 在搭建网络模型时,掌握对张量形状的操作是非常重要的&#xff…