我想更改窗体边框颜色(带有表单标题的边框)。我在codeplex中找到的例子太多而且令人困惑。能帮我解决一些更简单的问题吗?
答案 0 :(得分:11)
不幸的是,由于表单边框由操作系统绘制,因此是一项复杂的任务。没有真正的方法。
请勿单击下面CodePlex页面上的ProjectDistributor链接
CodePlex Project for Drawing Custom Borders使这很容易。只需使用该项目中的SkinnedForm而不是标准Form构建表单,它应该可以工作 - 您真的不需要在代码中做任何不同的事情。
答案 1 :(得分:5)
您可以将FormBorderStyle设置为None,
然后用面板覆盖表格并留出一些空间用于边框,
现在您可以将边框所需的颜色设置为表格背面颜色
现在面板作为主要容器,您可以根据需要更改背景,并将表单作为边框!
答案 2 :(得分:0)
使用以下命令覆盖它:
protected override void OnPaint(PaintEventArgs e)
{
ControlPaint.DrawBorder(e.Graphics, ClientRectangle, Color.[your_color], ButtonBorderStyle.Solid);
}
答案 3 :(得分:-1)
如前所述,更改边框的实际颜色很困难。上面的面板解决方案有一些限制,比如你不能调整表单的大小。我找到了一个相当简单的技巧,没有很多其他限制。
它看起来像一个边框,它会随着窗口调整大小,您可以将任何其他内容放入您想要的表单中。限制是,您必须将此作为添加到表单的第一件事。
答案 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
}