C# winform自定义控件

自定义控件最好单独占一个项目,方便后期扩展和其他项目使用。

1、为控件添加属性

csharp 复制代码
 [Category("自定义属性"), Description("图像高度")]
public double ImageHeight { get;  set; }

 [Category("自定义属性"), Description("图像宽度")]
public int ImageWidth{ get;  set; }
     

2、可以在Paint事件中进行控件绘制。

注意事项:

(1)Paint在控件初始化过程中会执行一次,可以通过Refresh()f方式,调用Paint事件。

(2)可将画布的SmoothingMode属性调整为HighQuality(提升绘图质量)

(3)GDI+ 中涉及到Brush的参数 ,需要使用SolidBrush来创建。

(4)C# 的GDI+ 在绘制带角度的矩形比较困难,若是想绘制一个带角度的矩形,可以通过划一条很宽的线来代替矩形。

3、自定义控件完成后,重新生成解决方案,接口在工具箱中使用该控件。

相关推荐
不吃香菜学java5 小时前
Redis的java客户端
java·开发语言·spring boot·redis·缓存
码事漫谈5 小时前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
captain3765 小时前
事务___
java·数据库·mysql
北漂Zachary5 小时前
四大编程语言终极对比
android·java·php·laravel
小江的记录本5 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
这儿有一堆花6 小时前
前端三件套真的落后了吗?揭开现代 Web 开发的底层逻辑
前端·javascript·css·html5
.Cnn6 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
醉酒的李白、6 小时前
Vue3 组件通信本质:Props 下发,Emits 回传
前端·javascript·vue.js
anOnion6 小时前
构建无障碍组件之Window Splitter Pattern
前端·html·交互设计
嗑嗑嗑瓜子的猫7 小时前
Java!它值得!
java·开发语言