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

winfom自定义一个椭圆按钮

前言

我们在上位机软件开发中,有时候需要制作椭圆按钮,本文就来给大家讲解如何制作一个椭圆按钮。

1、代码

 class SelfControl : Button{protected override void OnPaint(PaintEventArgs e){base.OnPaint(e);Brush brush = new SolidBrush(EllipseColor);//指定画刷的颜色e.Graphics.FillEllipse(brush, new Rectangle(0, 0, this.Width, this.Height));//填充一个圆// 绘制文字(居中)StringFormat sf = new StringFormat{Alignment = StringAlignment.Center,LineAlignment = StringAlignment.Center};e.Graphics.DrawString(this.Text, this.Font, new SolidBrush(this.ForeColor), this.ClientRectangle, sf);System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath();path.AddEllipse( new Rectangle(0, 0, this.Width, this.Height));this.Region = new Region(path);}private Color _EllipseColor = Color.Red;[CategoryAttribute("自定义属性"), DescriptionAttribute("椭圆背景色"), ReadOnly(false)]public Color EllipseColor{get{return _EllipseColor;}set{if (_EllipseColor != value){_EllipseColor = value;this.Invalidate();}}}}

2、效果

在这里插入图片描述

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》
2、《C#与PLC通信从入门到精通 》
3、《C# Modbus通信从入门到精通》
4、《C#Socket通信从入门到精通 》
5、《C# MES通信从入门到精通》
6、《winform控件从入门到精通》
7、《C#操作MySql数据库从入门到精通》

http://www.dtcms.com/a/279521.html

相关文章:

  • Codex,Copilot 是什么
  • 艺术总监的构图“再造术”:用PS生成式AI,重塑照片叙事框架
  • Vim库函数
  • NE综合实验2:RIP 与 OSPF 动态路由精细配置及ACL访问控制列表
  • pycharm连接远程终端的Anaconda安装与bug记录
  • 洛谷【数学 1】基础数学问题:最小公倍数的计算与应用
  • ELK、Loki、Kafka 三种日志告警联动方案全解析(附实战 Demo)
  • mysql 与redis缓存一致性,延时双删 和先更新数据库,再删除缓存,哪个方案好
  • 系统思考:跨境跨界团队学习
  • 安装Keycloak并启动服务(macOS)
  • SpringMVC4
  • 用基础模型构建应用(第九章)AI Engineering: Building Applications with Foundation Models学习笔记
  • mac安装nvm执行命令报错-解决方案
  • 延迟双删
  • redis面试高频问题汇总(一)
  • 中间件部署
  • Android 16k jni修改
  • 进阶03 二叉树进阶
  • Linux ACL权限策略
  • The Network Link Layer: WSNs 泛洪和DSR动态源路由协议
  • 《星盘接口3:虚无之眼的觉醒》
  • 机载激光雷达目标识别:从点云到凝视成像的算法全景
  • 【尝试】基于Whisper进行语音转文字识别
  • libimagequant windows 编译
  • 开放网络的容器化未来:SONiC在AI智算与园区的落地实践
  • LVS集群技术
  • 网络--OSPF实验
  • TCP半关闭
  • 简单易用的资产跟踪器DumbAssets
  • ICMP隧道工具完全指南:原理、实战与防御策略