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

相关推荐
小赵同学WoW1 小时前
1-2 TypeScript 中的 `any` 与 `unknown`
前端
six_1 小时前
C# 上位机(持续更新中)
前端·面试·c#
风雨_1 小时前
Git Worktree sourcetree完整使用指南
前端
半个落月1 小时前
React 组件通信进阶:useContext 与自定义 Hook 实战详解
前端·react.js
用户921080262861 小时前
ChatComposer 输入区改造:基于技能市场实现 Agent 输入框
前端
用户45989204565161 小时前
一套 KMP 多仓库版本治理工作流:用 Version Catalog + CI 把发版流水线自动化
前端·kotlin
小赵同学WoW1 小时前
1-4 TypeScript 中的 `number`、`bigint` 与 `string`
前端
小赵同学WoW1 小时前
1-3 `boolean` 与字面量类型
前端
光影少年2 小时前
react navite 长列表优化:FlatList / SectionList 原理与优化属性
前端·react native·react.js
cindershade2 小时前
鼠标 3D 倾斜卡片
前端