C# 如何更改面板的边框样式?

C# 如何更改面板的边框样式?,c#,.net,wpf,C#,.net,Wpf,我有一个面板System.Windows.Forms.panel 有财产 BorderStyle="FixedSingle" 它使用灰色边框进行渲染 我需要: 如果可能,可以设置边框的颜色和厚度 我很想知道是否有可能完全隐藏边界 你知道怎么解决这个问题吗 我的控制代码: OptimizedPanel : Panel <WindowsFormsHost Name="WinFormsHost"> <wh:OptimizedPanel x:Name="R

我有一个面板
System.Windows.Forms.panel

有财产

BorderStyle="FixedSingle"
它使用灰色边框进行渲染

我需要:

  • 如果可能,可以设置边框的颜色和厚度

  • 我很想知道是否有可能完全隐藏边界

你知道怎么解决这个问题吗

我的控制代码:

OptimizedPanel : Panel



 <WindowsFormsHost Name="WinFormsHost">
        <wh:OptimizedPanel x:Name="RenderingPanel"
                           BorderStyle="None"  />
    </WindowsFormsHost>
优化面板:面板

如果您想更改颜色或厚度,我相信您必须设置
边框样式。无
并自己绘制边框

如果要隐藏边框,可以使用值
BorderStyle.None
,这也是默认值


另请参见:

如果要更改颜色或厚度,我相信您必须设置
边框样式。无
并自己绘制边框

如果要隐藏边框,可以使用值
BorderStyle.None
,这也是默认值

另见:

我很想知道是否有可能完全隐藏边界

是的,试试这个:

           panel1.BorderStyle = BorderStyle.None;
我很想知道是否有可能完全隐藏边界

是的,试试这个:

           panel1.BorderStyle = BorderStyle.None;

可以创建panel的扩展类并替代paint方法。然后,在重新绘制面板时,可以绘制任何您喜欢的边框

据我所知,默认情况下,面板中没有边框颜色的方法


至于隐藏边框,只需
BorderStyle.None

您可以创建一个panel扩展类并覆盖paint方法。然后,在重新绘制面板时,可以绘制任何您喜欢的边框

pnlPanel.BorderStyle = BorderStyle.None;
据我所知,默认情况下,面板中没有边框颜色的方法


至于隐藏边框,只需
BorderStyle。无
Windows.Forms.Form.Panel控件不支持边框颜色。因此,不能直接设置边框颜色。但您可以使用图形对象绘制自己的边界

private void pnlPanel_Paint(object sender, PaintEventArgs e)
{
    Rectangle r = new Rectangle(0, 0, this.ClientRectangle.Width - 1, this.ClientRectangle.Height - 1);
    Pen p = new Pen(Color.Blue, 2);
    e.Graphics.DrawRectangle(p, r);
}
pnlPanel.BorderStyle = BorderStyle.None;
不要忘记将
BorderStyle
属性设置为
None

pnlPanel.BorderStyle = BorderStyle.None;

Windows.Forms.Form.Panel控件不支持边框颜色。因此,不能直接设置边框颜色。但您可以使用图形对象绘制自己的边界

private void pnlPanel_Paint(object sender, PaintEventArgs e)
{
    Rectangle r = new Rectangle(0, 0, this.ClientRectangle.Width - 1, this.ClientRectangle.Height - 1);
    Pen p = new Pen(Color.Blue, 2);
    e.Graphics.DrawRectangle(p, r);
}
不要忘记将
BorderStyle
属性设置为
None

pnlPanel.BorderStyle = BorderStyle.None;

我已经修改了我的问题。我的面板它位于WindowsForms中,但两者都显示在WPF应用程序的顶部。在这个场景中,甚至设置了BorderStyle.None,我看到了边框。有什么想法吗?谢谢我编辑了我的问题。我的面板它位于WindowsForms中,但两者都显示在WPF应用程序的顶部。在这个场景中,甚至设置了BorderStyle.None,我看到了边框。有什么想法吗?谢谢