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 事件吧。
是的。。我也发现了,请问你知道这个代码怎么写吗?谢啦
举个例子,假设有个 Panel1,在它的 Paint 事件里面写:
Pen pen = new Pen(Color.Black, 1);
pen.DashStyle = DashStyle.Dash;
e.Graphics.DrawRectangle(pen, Panel1.DisplayRectangle);
能说具体点吗。。新手,见谅,怎么操作呢