winform 显示分隔控件_分割线控件----------WinForm控件开发系列

本文介绍了如何在WinForm中创建一个分隔线控件,该控件支持显示文字并能根据文字位置绘制水平或垂直线条。控件允许设置线的颜色、厚度,以及是否为圆形端点,同时支持文字的对齐方式和文字方向。通过调整不同的属性,可以灵活地在界面中使用这个分隔线来增强布局效果。
摘要由CSDN通过智能技术生成

1 protected override voidOnPaint(PaintEventArgs e)2 {3 base.OnPaint(e);4

5 Graphics g =e.Graphics;6

7 int text_padding = 2;8 SizeF text_size =SizeF.Empty;9 RectangleF text_rect =RectangleF.Empty;10

11 Pen line_pen = new Pen(this.LineColor, this.LineThickness);12 int circular = this.lineCircular ? this.LineThickness : 0;13 PointF line_left_s =PointF.Empty;14 PointF line_left_e =PointF.Empty;15 PointF line_right_s =PointF.Empty;16 PointF line_right_e =PointF.Empty;17

18 #region 文字

19 if (!String.IsNullOrEmpty(this.Text))20 {21 SolidBrush text_sb = new SolidBrush(this.ForeColor);22 StringFormat text_sf = null;23

24 #region

25 if (this.LineOrientation ==LineOrientations.Horizontal)26 {27 text_size = g.MeasureString(this.Text, this.Font, 1000, text_sf);28 #region

29 float y = 0;30 if (this.textAlign ==TextAligns.Top)31 {32 y = (this.ClientRectangle.Height - (this.lineThickness + text_size.Height)) /2f;33 }34 else if (this.textAlign ==TextAligns.Center)35 {36 y = (this.ClientRectangle.Height - text_size.Height) /2f;37 }38 else if (this.textAlign ==TextAligns.Bottom)39 {40 y = (this.ClientRectangle.Height - (this.lineThickness + text_padding + text_size.Heigh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值