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、自定义控件完成后,重新生成解决方案,接口在工具箱中使用该控件。

相关推荐
毕设源码-赖学姐几秒前
【开题答辩全过程】以 高校图书馆座位预约管理系统为例,包含答辩的问题和答案
java·spring boot
灰海2 分钟前
为什么给<a>标签设置了download属性, 浏览器没有下载而是打开新标签!!
前端·vue·html·下载·download
MyBFuture4 分钟前
C# 哈希表与堆栈队列实战指南
开发语言·windows·c#·visual studio
网安_秋刀鱼4 分钟前
【java安全】java安全基础
java·开发语言·安全·web安全
1024肥宅7 分钟前
面试和算法:常见面试题实现与深度解析
前端·javascript·面试
float_六七29 分钟前
行级与块级元素:核心区别与应用场景
开发语言·前端·javascript
ZePingPingZe29 分钟前
不使用Spring事务的管理—原生JDBC实现事务管理
java·数据库·spring
毕设十刻42 分钟前
基于Vue的家教预约系统7fisz(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
前端·数据库·vue.js
前端无涯44 分钟前
深度解析:fetch 与 Promise 结合实战及面试重点
前端·javascript
风舞红枫1 小时前
node代理vue打包后的文件,实现本地测试
前端·javascript·vue.js·node.js