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中其它画线样式说明:
Solid 指定实线。
Dash 指定由划线段组成的直线。
Dot 指定由点构成的直线。
DashDot 指定由重复的划线点图案构成的直线。
DashDotDot 指定由重复的划线点点图案构成的直线。
Custom 指定用户定义的自定义划线段样式。
那个不是真的虚线……那是设计模式下显示的边框……
自带的 Panel 只能显示实线边框,想要虚线的话就自己写 OnPaint 事件吧。
重画?