我的mdiMain StyleManager属性如下 ManagerStyle:Office2013 MetroColorParameters:CanvasColor:black,baseColor:White 和我的孩子形式我想给组合框提供不同的背面颜色和边框颜色,与StyleManager一样,它是黑色,我希望它变成白色背景灰色边框。
我使用以下代码在StyleManager更改样式
后更改颜色 LinearGradientColorTable linGrBrush = new LinearGradientColorTable(
Color.FromArgb(192, 192, 192),
Color.FromArgb(104, 104, 104));
if (GlobalManager.Renderer is Office2007Renderer)
{
Office2007ColorTable ct = ((Office2007Renderer)GlobalManager.Renderer).ColorTable;
ct.ComboBox.DroppedDown.Background = Color.White;
ct.ComboBox.Default.Background = Color.White;
ct.ComboBox.Default.ExpandBackground = linGrBrush;
ct.ComboBox.DroppedDown.Border = Color.Gray;
ct.ComboBox.Default.Border = Color.Gray;
}
答案 0 :(得分:0)
下面是解决了我的问题的代码我使用了ComboBox.DefaultStandalone属性而不是ComboBox.Default
LinearGradientColorTable linGrBrush = new LinearGradientColorTable(
Color.DarkGray,
Color.DarkGray);
Office2007Renderer renderer = GlobalManager.Renderer as Office2007Renderer;
if (renderer == null) return;
Office2007ColorTable table = renderer.ColorTable;
// Stand-alone ComboBoxEx colors
Office2007ComboBoxColorTable comboColors = table.ComboBox;
comboColors.DefaultStandalone.Border = Color.DarkGray;
comboColors.DefaultStandalone.Background = Color.White;
comboColors.DefaultStandalone.ExpandText = Color.LightGray;
comboColors.DefaultStandalone.ExpandBorderInner = linGrBrush;
comboColors.DefaultStandalone.ExpandBorderOuter = linGrBrush;