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

相关推荐
oMcLin7 小时前
如何在Manjaro Linux上配置并优化Caddy Web服务器,确保高并发流量下的稳定性与安全性?
linux·服务器·前端
码途潇潇7 小时前
JavaScript 中 ==、===、Object.is 以及 null、undefined、undeclared 的区别
前端·javascript
小突突突7 小时前
Spring框架中的单例bean是线程安全的吗?
java·后端·spring
之恒君7 小时前
Node.js 模块加载 - 4 - CJS 和 ESM 互操作避坑清单
前端·node.js
be or not to be7 小时前
CSS 背景(background)系列属性
前端·css·css3
故事不长丨7 小时前
C#字典(Dictionary)全面解析:从基础用法到实战优化
开发语言·c#·wpf·哈希算法·字典·dictionary·键值对
前端snow7 小时前
在手机端做个滚动效果
前端
webkubor7 小时前
🧠 2025:AI 写代码越来越强,但我的项目返工却更多了
前端·机器学习·ai编程
Sun_小杰杰哇7 小时前
Dayjs常用操作使用
开发语言·前端·javascript·typescript·vue·reactjs·anti-design-vue
戴维南7 小时前
TypeScript 在项目中的实际解决的问题
前端