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

浙公网安备 33010602011771号