c# - 如何更改面板的 BorderStyle?

标签 c# .net wpf

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

有属性

BorderStyle="FixedSingle"

它呈现灰色边框。

我需要:

  • 能够设置边框的颜色和粗细(如果可能)。

  • 我很想知道是否也可以完全隐藏边框。

知道如何解决这个问题吗?

我的控制代码:

OptimizedPanel : Panel



 <WindowsFormsHost Name="WinFormsHost">
        <wh:OptimizedPanel x:Name="RenderingPanel"
                           BorderStyle="None"  />
    </WindowsFormsHost>

最佳答案

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;

关于c# - 如何更改面板的 BorderStyle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22192218/

相关文章:

c# - 文档中的 MongoDB 求和值

c# - 在 header 中传递 token 以在 MVC 和 Web API 中进行身份验证

c# - 编写高度复杂的业务/数学规则的最佳方法

c# - 我如何在 .net 中转义 html unicode?

c# - WinForms - 有什么方法可以将 Visual C++ 项目的 UI 转换为 Visual C# 吗?

wpf - 没有标题空间的WPF GroupBox

c# - 启动 Windows 服务并启动 cmd

.net - 服务器端远程调试

wpf - 使用 Teamcity 进行编码的 UI 测试

c# - WPF 多个 ID 与 Datagrid 复选框