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);
    }


    /// 绘制边框
    /// 
    /// 
    /// lable前景颜色
    /// lable背景颜色
    /// 边框颜色
    /// label宽度
    /// label高度
    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