private static ProfessionalColorTable GetColorTable(ToolStripComboBox.ToolStripComboBoxControl toolStripComboBoxControl) { if (toolStripComboBoxControl != null) { return(toolStripComboBoxControl.ColorTable); } return(ProfessionalColors.ColorTable); }
private static bool UseBaseAdapter(ComboBox comboBox) { ToolStripComboBox.ToolStripComboBoxControl control = comboBox as ToolStripComboBox.ToolStripComboBoxControl; if ((control != null) && (control.Owner.Renderer is ToolStripProfessionalRenderer)) { return(false); } return(true); }
protected override void DrawFlatComboDropDown(ComboBox comboBox, Graphics g, Rectangle dropDownRect) { Brush brush5; Point point; if (UseBaseAdapter(comboBox)) { base.DrawFlatComboDropDown(comboBox, g, dropDownRect); return; } if (!comboBox.Enabled || !ToolStripManager.VisualStylesEnabled) { g.FillRectangle(SystemBrushes.Control, dropDownRect); } else { ToolStripComboBox.ToolStripComboBoxControl toolStripComboBoxControl = comboBox as ToolStripComboBox.ToolStripComboBoxControl; ProfessionalColorTable colorTable = GetColorTable(toolStripComboBoxControl); if (!comboBox.DroppedDown) { if (comboBox.ContainsFocus || comboBox.MouseIsOver) { using (Brush brush = new LinearGradientBrush(dropDownRect, colorTable.ComboBoxButtonSelectedGradientBegin, colorTable.ComboBoxButtonSelectedGradientEnd, LinearGradientMode.Vertical)) { g.FillRectangle(brush, dropDownRect); goto Label_0114; } } if (toolStripComboBoxControl.Owner.IsOnOverflow) { using (Brush brush2 = new SolidBrush(colorTable.ComboBoxButtonOnOverflow)) { g.FillRectangle(brush2, dropDownRect); goto Label_0114; } } using (Brush brush3 = new LinearGradientBrush(dropDownRect, colorTable.ComboBoxButtonGradientBegin, colorTable.ComboBoxButtonGradientEnd, LinearGradientMode.Vertical)) { g.FillRectangle(brush3, dropDownRect); goto Label_0114; } } using (Brush brush4 = new LinearGradientBrush(dropDownRect, colorTable.ComboBoxButtonPressedGradientBegin, colorTable.ComboBoxButtonPressedGradientEnd, LinearGradientMode.Vertical)) { g.FillRectangle(brush4, dropDownRect); } } Label_0114: brush5 = comboBox.Enabled ? SystemBrushes.ControlText : SystemBrushes.GrayText; point = new Point(dropDownRect.Left + (dropDownRect.Width / 2), dropDownRect.Top + (dropDownRect.Height / 2)) { X = point.X + (dropDownRect.Width % 2) }; Point[] points = new Point[] { new Point(point.X - 2, point.Y - 1), new Point(point.X + 3, point.Y - 1), new Point(point.X, point.Y + 2) }; g.FillPolygon(brush5, points); }