(八十五)c#Winform自定义控件-引用区块

前提

入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。

GitHub:https://github.com/kwwwvagaa/NetWinformControl

码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git

如果觉得写的还行,请点个 star 支持一下吧

欢迎前来交流探讨: 企鹅群568015492 

来都来了,点个【推荐】再走吧,谢谢

NuGet

Install-Package HZH_Controls

目录

https://www.cnblogs.com/bfyx/p/11364884.html

用处及效果

准备工作

没什么可准备的,直接往下看吧

开始

添加一个类UCPanelQuote继承 Panel

添加2个属性

 1 /// <summary>
 2         /// The border color
 3         /// </summary>
 4         private Color borderColor = LineColors.Light;
 5
 6         /// <summary>
 7         /// Gets or sets the color of the border.
 8         /// </summary>
 9         /// <value>The color of the border.</value>
10         [Description("边框颜色"), Category("自定义")]
11         public Color BorderColor
12         {
13             get { return borderColor; }
14             set
15             {
16                 borderColor = value;
17                 this.Invalidate();
18             }
19         }
20
21         /// <summary>
22         /// The left color
23         /// </summary>
24         private Color leftColor = StatusColors.Danger;
25
26         /// <summary>
27         /// Gets or sets the color of the left.
28         /// </summary>
29         /// <value>The color of the left.</value>
30         [Description("左侧颜色"), Category("自定义")]
31         public Color LeftColor
32         {
33             get { return leftColor; }
34             set
35             {
36                 leftColor = value;
37                 this.Invalidate();
38             }
39         }

为了画边框和左边的颜色,设置一下Padding

1    public UCPanelQuote()
2             : base()
3         {
4             Padding = new Padding(5, 1, 1, 1);
5         }

重绘

 1 protected override void OnPaint(PaintEventArgs e)
 2         {
 3             base.OnPaint(e);
 4             e.Graphics.SetGDIHigh();
 5
 6             e.Graphics.DrawLines(new Pen(borderColor), new Point[]
 7             {
 8                 new Point(e.ClipRectangle.Left,e.ClipRectangle.Top),
 9                 new Point(e.ClipRectangle.Right-1,e.ClipRectangle.Top),
10                 new Point(e.ClipRectangle.Right-1,e.ClipRectangle.Bottom-1),
11                 new Point(e.ClipRectangle.Left,e.ClipRectangle.Bottom-1),
12                 new Point(e.ClipRectangle.Left,e.ClipRectangle.Top)
13             });
14
15             e.Graphics.FillRectangle(new SolidBrush(leftColor), new Rectangle(0, 0, 5, this.Height));
16         }

最后的话

如果你喜欢的话,请到 https://gitee.com/kwwwvagaa/net_winform_custom_control 点个星星吧

原文地址:https://www.cnblogs.com/bfyx/p/11675488.html

时间: 2024-08-15 09:02:13

(八十五)c#Winform自定义控件-引用区块的相关文章

第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现,回填数据以及错误提示html

第三百八十五节,Django+Xadmin打造上线标准的在线教育平台-登录功能实现 1,配置登录路由 from django.conf.urls import url, include # 导入django自在的include逻辑 from django.contrib import admin from django.views.generic import TemplateView # 导入django自带的TemplateView逻辑 import xadmin # 导入xadmin fr

“全栈2019”Java第八十五章:实现接口中的嵌套接口

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第八十五章:实现接口中的嵌套接口 下一章 "全栈2019"Java第八十六章:嵌套接口可以多继承吗? 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组

winform 自定义控件引用问题

最近做了一个仿combobox的控件,与combobox类似,多了文字筛选的功能,如何实现在这里不再赘述.由于comboboxEx中用到了另一个用户控件,当生成dll,引用到项目中去时,发现工具栏中不仅有comboboxEx,还有另一个用户控件,为了不让另一个用户控件被项目引用,我想到了将另一个用户控件设置成内部的(internal),解决了问题.后来在网上又咨询了下,大牛给出了另一个解决方案:用ToolboxItemAttribute来控制是否显示在工具栏上,即 [ToolboxItem(fa

Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)

本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 回顾:Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上) 连接网络摄像头 正如上文所提,我们选用一款简单的D-Link DCS-7010L网络摄像头.关键原因在于它支持RTSP协议,因此服务

小刘同学的第八十五篇博文

今天下午才开始干活,真不应该纠结与webstrom的皮肤的. 为了装一个皮肤把一下午的时间都搭进去了,实在不应该. 不过总归是挑好了,而且还装上了最新版本,虽然今天没敲什么码,不过还是觉得,哎,终于解决了这些烦心事. 看了下大概还要交一个中期报告,其他就可以统统等到下个月考试完以后再写. 所以说,有些时候,有些事情,真是不能做一个完美主义者,不然会相当的难受,这种难受不仅仅是在与浪费了时间,而且自己还相当纠结. 刚刚看好像webstrom好像又出问题了,就不截图了吧. 明天的计划大概说一下,解决

一个屌丝程序猿的人生(八十五)

到了10点左右的时候,公司里的人已经全部到齐. 这期间,林萧一边安装着软件,一边接收着后来的同事好奇的目光,毕竟公司就这么几个人,突然来了个新人,大家自然一眼就注意到了林萧. 人到齐后没多久,程刚便从办公室走了出来,他先是扫视了一圈,随后来到林萧身边说道:"来吧,带你认识下大家." 林萧起身以后,程刚拍了拍手掌说道:"大家停一下手头的工作,咱们来欢迎一下新来的同事--林萧." 一阵零零散散的掌声响起过后,算是众人对林萧表示了欢迎. 紧接着程刚说道:"林萧,

(十)c#Winform自定义控件-列表

前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492  准备工作 列表控件将被拆分为2部分,一个元素,一个列表,列表需要支持主副标题,图标等 开始 首先定义一个数据源类(其实更好的是应该接受object,然后通过绑定字段反射绑定数据,这样就不需要这个数据源类

(六十)c#Winform自定义控件-鼓风机(工业)

前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492  麻烦博客下方点个[推荐],谢谢 NuGet Install-Package HZH_Con

(七十)c#Winform自定义控件-饼状图

前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492  麻烦博客下方点个[推荐],谢谢 NuGet Install-Package HZH_Con