当前位置: 首页 > news >正文

WinForm开发-自定义组件-1. 工具栏: UcompToolStrip

这里写自定义目录标题

  • 1. 工具栏: UcompToolStrip
    • 1.1 展示效果
    • 1.2 代码
      • UcompToolStrip.cs
      • UcompToolStrip.Designer.cs

1. 工具栏: UcompToolStrip

自定义一些Winform组件

1.1 展示效果

1)使用效果


2)控件事件
在这里插入图片描述

1.2 代码

  1. 设计
    在这里插入图片描述
  2. 编码

UcompToolStrip.cs

 public partial class UcompToolStrip : ToolStrip{// 定义委托类型public delegate void AddEventHandler(object sender, EventArgs e);public delegate void DeleteEventHandler(object sender, EventArgs e);public delegate void EditEventHandler(object sender, EventArgs e);public delegate void RefreshEventHandler(object sender, EventArgs e);public delegate void QueryEventHandler(object sender, EventArgs e);public delegate void QueryAdvEventHandler(object sender, EventArgs e);// 定义事件[Category("自定义事件")][Description("Button事件: 新增")]public event AddEventHandler UcEventOnAdd;[Category("自定义事件")][Description("Button事件: 删除")]public event DeleteEventHandler UcEventOnDelete;[Category("自定义事件")][Description("Button事件: 编辑")]public event EditEventHandler UcEventOnEdit;[Category("自定义事件")][Description("Button事件: 刷新")]public event RefreshEventHandler UcEventOnRefresh;[Category("自定义事件")][Description("Button事件: 查询")]public event QueryEventHandler UcEventOnQuery;[Category("自定义事件")][Description("Button事件: 高级查询")]public event QueryAdvEventHandler UcEventOnQueryAdv;public UcompToolStrip(){InitializeComponent();}public UcompToolStrip(IContainer container){container.Add(this);InitializeComponent();}// 为 ToolStripButton 添加 Click 事件处理程序        // 定义事件处理方法private void tsbtnAdd_Click(object sender, EventArgs e){            // 调用自定义事件UcEventOnAdd?.Invoke(this, e);// 在这里编写按钮点击时的逻辑//MessageBox.Show("新增");}private void tsbtnEdit_Click(object sender, EventArgs e){// 调用自定义事件UcEventOnEdit?.Invoke(this, e);}private void tsbtnDel_Click(object sender, EventArgs e){// 调用自定义事件UcEventOnDelete?.Invoke(this, e);}private void tsbtnRefresh_Click(object sender, EventArgs e){// 调用自定义事件UcEventOnRefresh?.Invoke(this, e);}private void tsbtnQuery_Click(object sender, EventArgs e){// 调用自定义事件UcEventOnQuery?.Invoke(this, e);}private void tsbtnQueryAdv_Click(object sender, EventArgs e){// 调用自定义事件UcEventOnQueryAdv?.Invoke(this, e);}}

UcompToolStrip.Designer.cs

...... 省略this.toolStripSeparator2,this.tsbtnQueryAdv});this.Size = new System.Drawing.Size(100, 34);this.ResumeLayout(false);// 增加按钮事件this.tsbtnAdd.Click += new System.EventHandler(this.tsbtnAdd_Click);this.tsbtnEdit.Click += new System.EventHandler(this.tsbtnEdit_Click);this.tsbtnDel.Click += new System.EventHandler(this.tsbtnDel_Click);this.tsbtnRefresh.Click += new System.EventHandler(this.tsbtnRefresh_Click);this.tsbtnQuery.Click += new System.EventHandler(this.tsbtnQuery_Click);this.tsbtnQueryAdv.Click += new System.EventHandler(this.tsbtnQueryAdv_Click);}#endregionprivate System.Windows.Forms.ToolStripButton tsbtnAdd;private System.Windows.Forms.ToolStripButton tsbtnEdit;private System.Windows.Forms.ToolStripButton tsbtnDel;private System.Windows.Forms.ToolStripButton tsbtnRefresh;private System.Windows.Forms.ToolStripButton tsbtnQuery;private System.Windows.Forms.ToolStripButton tsbtnQueryAdv;private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;private System.Windows.Forms.ToolStripLabel tslblKeyWord;private System.Windows.Forms.ToolStripTextBox tstxtInputKeyword;        private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;

相关文章:

WinForm开发-自定义组件-1. 工具栏: UcompToolStrip

这里写自定义目录标题 1. 工具栏: UcompToolStrip1.1 展示效果1.2 代码UcompToolStrip.csUcompToolStrip.Designer.cs 1. 工具栏: UcompToolStrip 自定义一些Winform组件 1.1 展示效果 1)使用效果 2)控件事件 1.2 代码 设计 编码 UcompToolStrip.…...

法律专业legal case的留学论文写作技巧分析(1)

对于法律专业的留学生而言,案例的分析是写作的重要方面。无论留学的国家是英、美、澳洲还是加拿大,它们都属于case law 的法律体系。一个非常显著的特点便是通过对案例进行分析和提炼,从中总结提炼出principle和rules。case analysis的留学论…...

2025编程技术前沿:探索最新的开发工具与趋势

随着技术的飞速发展,编程领域每天都在演化,新的技术、框架和工具层出不穷。本文将聚焦2025年最具潜力和吸引力的编程技术与工具,从前沿语言到最受欢迎的开发框架,带您一起探索软件开发领域的最新趋势。 一、编程语言的新生代之星…...

sqlserver sql转HTMM邮件发送

通过sql的形式,把表内数据通过邮件的形式发送出去 declare title varchar(100) DECLARE stat_date CHAR(10),create_time datetime SET stat_dateCONVERT(char(10),GETDATE(),120) SET create_timeDATEADD(MINUTE,-20,GETDATE()) DECLARE xml NVARCHAR (max) DECLAR…...

GeoTrust True BusinessID Wildcard

GeoTrust由DigiCert 提供支持,是最受信任和尊重的品牌之一,以提供高保证的网站安全而闻名。 GeoTrust True BusinessID通配符证书 – 以低成本保护多个主机名。即使将其用于您的公司主页或电子邮件服务器主机名,保护所有敏感信息也是您的目标…...

R语言的数据结构

R语言的数据结构 R语言是专门为统计计算和数据分析而设计的一种编程语言,因其强大的数据处理能力而受到广泛欢迎。在R中,数据结构是理解和有效使用R语言的基础。本文将详细介绍R语言中的主要数据结构,包括向量、矩阵、数据框、列表、因子等&…...

安装和配置MySQL教程

以下是在不同操作系统下安装和配置MySQL的详细教程: Windows系统 下载MySQL安装包 访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/),根据你的操作系统版本(32位或64位)下载相应的MySQL Commu…...

黑马Java面试教程_P10_设计模式

系列博客目录 文章目录 系列博客目录前言1. 工厂方法模式1.1 概述1.2 简单工厂模式1.2.1 结构1.2.2 实现1.2.3 优缺点 1.3 工厂方法模式1.3.1 概念1.3.2 结构1.3.3 实现1.3.4 优缺点 1.4 抽象工厂模式1.4.1 概念1.4.2 结构1.4.3 实现1.4.4 优缺点1.4.5 使用场景 总结&#xff0…...

043_小驰私房菜_MTK Camera,Hal层将camera型号写到property属性中

【问题背景】 app层需要知道当前设备的摄像头型号,然后做一些差异化处理。底下如何上报这个摄像头型号? 【分析】 在kernel和hal层,都是有地方能获取到当前摄像头的型号,就看在哪里添加方便。获取到摄像头硬件型号后,将其写入到property属性, 然后app就可以通过读取该…...

基础图形化界面的一个图片爬虫期末

下面是爬取界面: 点击即可自动化爬取 以下是完整代码: import tkinter as tk import requests import os #用于文件和目录操作。# 图片爬虫函数 def image_spider(textbox):headers = {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, …...

Outlook2024版如何回到经典Outlook

Outlook2024版如何回到经典Outlook 如果新加入一家公司,拿到的电脑,大概率是最新版的Windows, 一切都是新的。 如果不coding, 使用国产的foxmail大概就可以解决一切问题了。可惜老程序员很多Coding都是基于传统Outlook的,科技公司所有人都是I…...

仿生的群体智能算法总结之二(十种)

群体智能算法是一类通过模拟自然界中的群体行为来解决复杂优化问题的方法。以下是10种常见的群体智能算法,接上文https://blog.csdn.net/lzm12278828/article/details/144933367仿生的群体智能算法总结之一(十种)-CSDN博客https://blog.csdn.net/lzm12278828/article/detail…...

SpringBoot入门之创建一个Hello World项目

文章目录 一、使用传统的方式1、创建一个SpringBoot项目2、配置pom.xml文件3、下载Maven依赖4、创建一个Controller类:com.devops.controller.HelloController5、创建一个引导类:com.devops.HelloApplication6、启动项目8、访问80809、完整项目结构 二、…...

MySQL与标准SQL的区别

我们试图使MySQL Server遵循ANSI SQL标准和ODBC SQL标准,但MySQL Server在某些情况下执行不同的操作: MySQL和标准SQL特权系统之间有一些区别。例如,在MySQL中,删除表时不会自动撤销表的特权。您必须显式发出REVOKE来撤销表的特权…...

docker中使用Dockerfile设置Volume挂载点

关于在docker中如何使用Volume,可以参考文章: docker中使用Volume完成数据共享-CSDN博客 如果想在生成docker镜像的时候设置好挂载点,而不是在运行镜像生成容器时生成。 下面以自建一个tomcat镜像为例,演示如何在生成镜像时设置…...

Samsung手机首次主要采用竞对Micron LPDDR5内存

根据韩国媒体《韩国先驱报》(The Korea Herald)的报道,即将在1月底发布的三星 Galaxy S25 系列智能手机将首次主要使用美光科技(Micron Technology)提供的移动DRAM,而非三星自家的产品。这一消息对于三星的…...

【项目开发】C#环境配置及VScode运行C#教程(学生管理系统)

原创文章,禁止转载。 文章目录 下载.NETVScode配置运行程序下载.NET 官网链接: https://dotnet.microsoft.com/en-us/download选择任意版本下载: 下载完成后,双击运行exe文件,等待安装完成。 在控制台输入: dotnet --version若出现版本信息,说明安装成功: VScode配…...

[241231] CachyOS 2024 年终总结:性能飞跃与社区繁荣 | ScyllaDB 宣布转向开源可用许可证

目录 CachyOS 2024 年终总结:性能飞跃与社区繁荣ScyllaDB 宣布转向开源可用许可证 CachyOS 2024 年终总结:性能飞跃与社区繁荣 CachyOS 2024 年的最后一个版本 (也是第 13 个版本) 已经发布,同时也迎来了辞旧迎新之际。让我们一起回顾 Cachy…...

AI-Talk开发板之超拟人

一、说明 运行duomotai_ap sdk下的LLM_chat例程,实现开发板和超拟人大模型进行语音交互,支持单轮和多轮交互。 二、SDK更新 v2.3.0及以上的SDK版本才支持超拟人,如果当前SDK在v2.3.o以下,需要更新SDK。在SDK目录(duomotai_ap)下…...

Swift Concurrency(并发)学习

Swift 的并发模型是基于 异步任务 和 任务调度 的一套现代化的异步编程工具。以下是相关语法规则总结 1. 异步函数(async)与 await async 用于声明一个异步函数,表示函数可能会执行耗时任务,例如网络请求、文件读写等。在调用异步…...

从逆向工程到质量控制:手把手教你用GOM Inspect Pro 2018处理ATOS扫描数据

从逆向工程到质量控制:GOM Inspect Pro 2018实战指南 在工业4.0时代,产品研发与质量控制的边界正在被数字技术重新定义。想象一下这样的场景:一款新型涡轮叶片的设计原型刚刚完成光学扫描,数以百万计的点云数据亟待转化为可量化的…...

别再手动造波形了!用VC Formal/JasperGold的FPV快速验证计数器RTL(附SVA避坑指南)

数字IC验证革命:FPV如何用SVA断言重构RTL验证流程 当你在凌晨三点完成一个计数器模块的RTL编码后,最痛苦的不是调试语法错误,而是明知它可能存在问题却要等待仿真环境就绪。这种等待正在吞噬设计工程师的创造力——直到你发现Formal Property…...

告别时间不准!用Arduino Nano和DS3231模块DIY一个高精度数字时钟(附完整代码)

用Arduino Nano和DS3231打造高精度数字时钟的完整指南 你是否厌倦了手机和电脑上那些时不时需要手动校准的时间显示?市面上大多数电子时钟要么走时不准,要么功能单一。今天,我们将用Arduino Nano和DS3231实时时钟模块,打造一个走时…...

告别物理光驱:WinCDEmu虚拟光驱工具完整使用指南

告别物理光驱:WinCDEmu虚拟光驱工具完整使用指南 【免费下载链接】WinCDEmu 项目地址: https://gitcode.com/gh_mirrors/wi/WinCDEmu 还在为找不到光驱而烦恼?还在为ISO文件无法直接使用而困扰?今天我要向你介绍一款Windows平台上的终…...

告别代码恐惧:AppEEARS可视化下载MODIS GPP数据全流程解析

1. 为什么选择AppEEARS下载MODIS数据? 作为一个常年和遥感数据打交道的科研狗,我太理解新手面对代码时的恐惧了。记得我第一次用Python下载MODIS数据时,光是安装GDAL库就折腾了两天,最后还因为投影转换出错导致整个数据集报废。直…...

5个步骤从零开始:用OBS StreamFX打造电影级直播画面

5个步骤从零开始:用OBS StreamFX打造电影级直播画面 【免费下载链接】obs-StreamFX StreamFX is a plugin for OBS Studio which adds many new effects, filters, sources, transitions and encoders! Be it 3D Transform, Blur, complex Masking, or even custom …...

告别手动配置!利用ESPHome+巴法云MQTT桥接,优雅管理你的ESP8266设备到HA

ESPHome巴法云MQTT桥接:打造智能家居设备的工业化管理方案 当你的智能家居设备数量突破两位数时,那种为每个ESP8266单独编写Arduino代码、逐个修改YAML配置的日子就该结束了。这不是关于如何点亮第一个LED灯的教程,而是为已经跨过入门阶段&am…...

告别数据线?实测用手机Termux+网络串口给ESP32无线OTA升级

手机Termux网络串口实现ESP32无线OTA升级全攻略 想象一下这样的场景:你正坐在咖啡馆里,突然灵感迸发想修改ESP32设备的固件。传统方式需要翻出数据线、连接电脑、打开开发环境...但现在,只需掏出手机就能完成从代码修改到固件烧录的全流程。这…...

Bilibili-Evolved终极指南:简单三步打造你的专属B站体验

Bilibili-Evolved终极指南:简单三步打造你的专属B站体验 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved Bilibili-Evolved是一款强大的哔哩哔哩增强脚本,专为提升B站用…...

抖音直播弹幕数据抓取实战:逆向工程与实时监控的深度解析

抖音直播弹幕数据抓取实战:逆向工程与实时监控的深度解析 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 在当今社交媒体数…...