我正在构建一个程序,我希望它有一个黑色的背景和白色的文本。
我
尝试将背景颜色设置为黑色,将前景色/字体颜色设置为白色,但在突出显示期间我想要两种不同的颜色,在单击期间另外两种。我找不到操作属性的正确方法。还有其他人尝试过吗?
谢谢。
我已经想出了如何使用此顶部附带的链接来执行此操作。然而,我不得不在它周围挖掘的资源使我相信这应该作为它自己的问题。
我做了什么
我转到我的MainForm
并插入了以下代码(根据建议的解决方案):
public MainForm()
{
InitializeComponent();
menuStripMain.Renderer = new MyRenderer();
}
private class MyRenderer : ToolStripProfessionalRenderer
{
public MyRenderer() : base(new MyColors()) { }
}
private class MyColors : ProfessionalColorTable
{
public override Color MenuItemSelected
{
get { return Color.White; }
}
public override Color MenuItemSelectedGradientBegin
{
get { return Color.Black; }
}
public override Color MenuItemSelectedGradientEnd
{
get { return Color.SlateGray; }
}
public override Color MenuItemBorder
{
get { return Color.Yellow; }
}
}
但是,如您所见,有些属性未包含在解决方案中。要在此处操作的部分可以用于窗体上的任何对象,而不仅仅是菜单条,您可以在此处访问其引用名称。此外,还有大量具有奇怪名称的颜色可以解决,其列表就在这里。我认为你不能使用十六进制颜色代码。
通过这种方式,您可以完全自定义表单中任何对象的颜色!