Winform 使用label画分割线

1.拖一个Label控件

2.设置AutoSize=False

3.将Label控件的宽度设置2

4.设置Paint方法

    private void label1_Paint(object sender, PaintEventArgs e)
    {
        if (sender is not Label lbl) return;

        DrawBorder(lbl, e.Graphics, Color.White, Color.Gray, Color.Gray, lbl.Width, lbl.Height);
    }


    /// <summary>绘制边框</summary>
    /// <param name="lbl"></param>
    /// <param name="g"></param>
    /// <param name="backcolor">lable前景颜色</param>
    /// <param name="backcolor">lable背景颜色</param>
    /// <param name="bordercolor">边框颜色</param>
    /// <param name="x">label宽度</param>
    /// <param name="y">label高度</param>
    private void DrawBorder(Label lbl, System.Drawing.Graphics g, Color forecolor, Color backcolor, Color bordercolor, int x, int y)
    {
        using var SegBrush = new SolidBrush(backcolor);
        using Pen pen = new Pen(SegBrush, 1);

        lbl.BorderStyle = BorderStyle.None;
        lbl.BackColor = backcolor;

        pen.Color = forecolor;

        Rectangle myRectangle = new Rectangle(0, 0, x, y);
        //画个边框
        ControlPaint.DrawBorder(g, myRectangle, bordercolor, ButtonBorderStyle.Solid);
    }

  

参考:https://blog.csdn.net/wxg22526451/article/details/1806787?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2.pc_relevant_antiscanv2&utm_relevant_index=5

 

posted @ 2022-04-09 10:59  我的用户名  阅读(361)  评论(0编辑  收藏  举报