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