C#/vb.net WinForm修改Panel边框颜色
c#代码
private void panel1_Paint(object sender, PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics,
this.panel1.ClientRectangle,
Color.LightSeaGreen,//7f9db9
1,
ButtonBorderStyle.Solid,
Color.LightSeaGreen,
1,
ButtonBorderStyle.Solid,
Color.LightSeaGreen,
1,
ButtonBorderStyle.Solid,
Color.LightSeaGreen,
1,
ButtonBorderStyle.Solid);
}
vb.net代码:
Private Sub panel1_Paint(ByVal sender As Object, ByVal e As PaintEventArgs)
ControlPaint.DrawBorder(e.Graphics, Me.panel1.ClientRectangle, Color.LightSeaGreen, 1, ButtonBorderStyle.Solid, Color.LightSeaGreen, 1, ButtonBorderStyle.Solid, Color.LightSeaGreen, 1, ButtonBorderStyle.Solid, Color.LightSeaGreen, 1, ButtonBorderStyle.Solid)
End Sub
方法2:自定义panel控件
框架自带的Panel是默认不设置边框样式的,只能设置边框类型。
你需要自己在Paint事件中实现边框绘制。当然,自己继承一下panel改一改也是可以的。
下面的控件继承自Panel.
使用BorderColor属性指定边框颜色,不指定则为默认;public class PanelWithCustomBorder : Panel
{
public Color BorderColor;
public int BorderWidth = 1;
public ButtonBorderStyle BorderLineStyle = ButtonBorderStyle.Solid;
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
if (BorderColor != null)
ControlPaint.DrawBorder(e.Graphics, this.ClientRectangle,
BorderColor,BorderWidth,BorderLineStyle,
BorderColor, BorderWidth, BorderLineStyle,
BorderColor, BorderWidth, BorderLineStyle,
BorderColor, BorderWidth, BorderLineStyle);
}
}
使用BorderWidth指定边框宽度;
使用BorderLineStyle指定边框线条的样式。
你也可以在标准panel的Paint事件中使用ControlPaint完成一样的工作。
生产内容,同时打通搜索引擎(SEO)与AI搜索引擎(GEO)流量入口的软件! 点击进入365建站器 »
