如何更改表格边框颜色c#?

时间:2009-09-18 16:01:27

标签: c# winforms border

我想更改窗体边框颜色(带有表单标题的边框)。我在codeplex中找到的例子太多而且令人困惑。能帮我解决一些更简单的问题吗?

6 个答案:

答案 0 :(得分:11)

不幸的是,由于表单边框由操作系统绘制,因此是一项复杂的任务。没有真正的方法。

  

请勿单击下面CodePlex页面上的ProjectDistributor链接

CodePlex Project for Drawing Custom Borders使这很容易。只需使用该项目中的SkinnedForm而不是标准Form构建表单,它应该可以工作 - 您真的不需要在代码中做任何不同的事情。

答案 1 :(得分:5)

您可以将FormBorderStyle设置为None,

然后用面板覆盖表格并留出一些空间用于边框,

现在您可以将边框所需的颜色设置为表格背面颜色

现在面板作为主要容器,您可以根据需要更改背景,并将表单作为边框!

  • 它会让你看起来像这样:

enter image description here

答案 2 :(得分:0)

使用以下命令覆盖它:

protected override void OnPaint(PaintEventArgs e)
        {
            ControlPaint.DrawBorder(e.Graphics, ClientRectangle, Color.[your_color], ButtonBorderStyle.Solid);
        }

答案 3 :(得分:-1)

如前所述,更改边框的实际颜色很困难。上面的面板解决方案有一些限制,比如你不能调整表单的大小。我找到了一个相当简单的技巧,没有很多其他限制。

  • 创建表单
  • 将 FormBorderStyle 设置为无
  • 添加 4 个面板
  • 将面板的背景颜色设置为您想要的边框颜色
  • 在顶部、底部、左侧和右侧各锚一个
  • 将高度(顶部/底部)或宽度(左/右)设置为所需边框的厚度。 2 或 3 个看起来非常好。

它看起来像一个边框,它会随着窗口调整大小,您可以将任何其他内容放入您想要的表单中。限制是,您必须将此作为添加到表单的第一件事。

答案 4 :(得分:-2)

以下" ForeColor"他们应该是一个名为" FormBorderStyle"您可以在VisualStudio 2015中使用它编辑它。或者您可以进入控制面板路径应该是这样的"控制面板\外观和个性化\个性化" 他们将成为第二个名为" Color"可以将其更改为您想要的颜色,它会将所有程序中边界的颜色更改为您设置的颜色。

答案 5 :(得分:-5)

if (colorDialog1.ShowDialog() == DialogResult.OK)
{
    string color = Convert.ToString(colorDialog1.Color);
    MessageBox.Show("You change the color " + color);
    this.BackColor = colorDialog1.Color; // BackColor is only accessible for this form
}