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

相关推荐
月巴月巴白勺合鸟月半14 小时前
一个医学编码的服务
服务器·前端·javascript
雨中飘荡的记忆14 小时前
Retrofit:优雅的JAVA网络请求框架实战
java
ycgg14 小时前
深入理解 DOM 的 dispatchEvent API
前端
方也_arkling14 小时前
【JS】定时器的使用(点击开始计时,再次点击停止计时)
开发语言·前端·javascript
Thexhy14 小时前
基础篇:Redis核心命令及用法
java·linux·redis
JS_GGbond14 小时前
Vue原型链:让你的组件继承“超能力”
前端·vue.js
狂奔小菜鸡14 小时前
Day33 | Java中的Optional
java·后端·java ee
啃火龙果的兔子14 小时前
IntelliJ IDEA社区版下载安装
java·ide·intellij-idea
乆夨(jiuze)14 小时前
不是所有的链式调用,都是Promise函数,Promise 规范及其衍生的 Promise/A+ 规范
前端·javascript·vue.js
ckm紫韵14 小时前
Cursor 与 IDEA 互相跳转教程
java·ide·intellij-idea·cursor·ai工具