C#中panel怎么设置边框为虚线

2025-02-28 22:18:51
推荐回答(3个)
回答1:

  c#中panel默认的边框为实线,如果想实现虚线则需要自己绘制,设置绘制时设置Pen对象的DashStyle属性,则可实现虚线效果,代码如下:

private void panel1_Paint(object sender, PaintEventArgs e)
{
    Panel pnl = (Panel)sender;
    Pen pen = new Pen(SystemColors.ControlDark);
    pen.DashStyle = DashStyle.Dot;
    e.Graphics.DrawLine(pen, 0, 0, 0, pnl.Height - 0);
    e.Graphics.DrawLine(pen, 0, 0, pnl.Width - 0, 0);
    e.Graphics.DrawLine(pen, pnl.Width - 1, pnl.Height - 1, 0, pnl.Height - 1);
    e.Graphics.DrawLine(pen, pnl.Width - 1, pnl.Height - 1, pnl.Width - 1, 0);  
}

  效果如下:

DashStyle中其它画线样式说明:

  1. Solid 指定实线。

  2. Dash 指定由划线段组成的直线。

  3. Dot 指定由点构成的直线。

  4. DashDot 指定由重复的划线点图案构成的直线。

  5. DashDotDot 指定由重复的划线点点图案构成的直线。

  6. Custom 指定用户定义的自定义划线段样式。

回答2:

那个不是真的虚线……那是设计模式下显示的边框……

自带的 Panel 只能显示实线边框,想要虚线的话就自己写 OnPaint 事件吧。

回答3:

重画?