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

相关推荐
hanqunfeng1 分钟前
(三十三)Redisson 实战
java·spring boot·后端
2301_780669861 分钟前
字符集及其编码、解码操作、IO流分类
java·开发语言
计算机毕设指导65 分钟前
基于微信小程序的运动场馆服务系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
Kiyra7 分钟前
阅读 Netty 源码关于 NioEventLoop 和 Channel 初始化部分的思考
运维·服务器·前端
冰暮流星17 分钟前
javascript的switch语句介绍
java·前端·javascript
有梦想的攻城狮17 分钟前
Java中的Double类型的存在精度丢失详解
java·开发语言·bigdecimal·double
m0_7482495434 分钟前
Java 语言提供了八种基本类型【文123】
java·开发语言·python
移幻漂流39 分钟前
Kotlin 如何解决 Java 的核心痛点:现代语言特性的深度剖析
java·python·kotlin
leikooo41 分钟前
ShardingSphere 下更新分片键导致的失败问题分析与解决
java·spring·apache
a程序小傲43 分钟前
中国邮政Java面试被问:Netty的FastThreadLocal优化原理
java·服务器·开发语言·面试·职场和发展·github·哈希算法