前提
入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。
本系列文章将讲解各种控件的开发及思路,欢迎各位批评指正。
此系列控件开发教程将全部在原生控件基础上进行重绘开发,目标的扁平化、漂亮、支持触屏。
如果有什么好的建议也可以评论留言来交流。
源码地址:
GitHub:https://github.com/kwwwvagaa/NetWinformControl
码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git
如果觉得写的还行,请点个 star 支持一下吧
欢迎前来交流探讨: 企鹅群568015492
目录
http://toutiao.com/item/6824291838963220999/
准备工作
其实就是1个横向的线和纵向的线,没有什么技术含量,至于为什么要等于呢,就是为了让效果统一,用起来方便
开始
横向的分割线
添加用户控件,命名UCSplitLine_H
全部代码如下
1 // 版权所有 黄正辉 交流群:568015492 QQ:623128629 2 // 文件名称:UCSplitLine_H.cs 3 // 创建日期:2019-08-15 16:03:21 4 // 功能描述:Split 5 // 项目地址:https://gitee.com/kwwwvagaa/net_winform_custom_control 6 using System; 7 using System.Collections.Generic; 8 using System.ComponentModel; 9 using System.Drawing;10 using System.Data;11 using System.Linq;12 using System.Text;13 using System.Windows.Forms;14 15 namespace HZH_Controls.Controls16 {17 public partial class UCSplitLine_H : UserControl18 {19 public UCSplitLine_H()20 {21 InitializeComponent();22 this.TabStop = false;23 }24 }25 }
1 namespace HZH_Controls.Controls 2 { 3 partial class UCSplitLine_H 4 { 5 /// 6 /// 必需的设计器变量。 7 /// 8 private System.ComponentModel.IContainer components = null; 9 10 /// 11 /// 清理所有正在使用的资源。12 /// 13 /// 如果应释放托管资源,为 true;否则为 false。14 protected override void Dispose(bool disposing)15 {16 if (disposing && (components != null))17 {18 components.Dispose();19 }20 base.Dispose(disposing);21 }22 23 #region 组件设计器生成的代码24 25 /// 26 /// 设计器支持所需的方法 - 不要27 /// 使用代码编辑器修改此方法的内容。28 /// 29 private void InitializeComponent()30 {31 this.SuspendLayout();32 // 33 // UCSplitLine_H34 // 35 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;36 this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232)))));37 this.Name = "UCSplitLine_H";38 this.Size = new System.Drawing.Size(100, 1);39 this.ResumeLayout(false);40 41 }42 43 #endregion44 }45 }
纵向的分割线
添加用户控件,命名UCSplitLine_V
全部代码如下
1 // 版权所有 黄正辉 交流群:568015492 QQ:623128629 2 // 文件名称:UCSplitLine_V.cs 3 // 创建日期:2019-08-15 16:03:25 4 // 功能描述:Split 5 // 项目地址:https://gitee.com/kwwwvagaa/net_winform_custom_control 6 using System; 7 using System.Collections.Generic; 8 using System.ComponentModel; 9 using System.Drawing;10 using System.Data;11 using System.Linq;12 using System.Text;13 using System.Windows.Forms;14 15 namespace HZH_Controls.Controls16 {17 public partial class UCSplitLine_V : UserControl18 {19 public UCSplitLine_V()20 {21 InitializeComponent();22 this.TabStop = false;23 }24 }25 }
1 namespace HZH_Controls.Controls 2 { 3 partial class UCSplitLine_V 4 { 5 /// 6 /// 必需的设计器变量。 7 /// 8 private System.ComponentModel.IContainer components = null; 9 10 /// 11 /// 清理所有正在使用的资源。12 /// 13 /// 如果应释放托管资源,为 true;否则为 false。14 protected override void Dispose(bool disposing)15 {16 if (disposing && (components != null))17 {18 components.Dispose();19 }20 base.Dispose(disposing);21 }22 23 #region 组件设计器生成的代码24 25 /// 26 /// 设计器支持所需的方法 - 不要27 /// 使用代码编辑器修改此方法的内容。28 /// 29 private void InitializeComponent()30 {31 this.SuspendLayout();32 // 33 // UCSplitLine_V34 // 35 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;36 this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(232)))), ((int)(((byte)(232)))));37 this.Name = "UCSplitLine_V";38 this.Size = new System.Drawing.Size(1, 100);39 this.ResumeLayout(false);40 41 }42 43 #endregion44 }45 }
用处及效果
用处:区域分隔时使用
效果:
![e33cadf369e44bfddc0802b12dc3f705.png](https://img-blog.csdnimg.cn/img_convert/e33cadf369e44bfddc0802b12dc3f705.png)
![f16223084f44bf40e94eae52318237e5.png](https://img-blog.csdnimg.cn/img_convert/f16223084f44bf40e94eae52318237e5.png)
最后的话
如果你喜欢的话,请到 码云或Github 点个星星吧