240a241 > 241a243,260 > > DrawItemState state = DrawItemState.None; > if (highlighted) > { > state |= DrawItemState.Selected; > } > if (!menuItem.Enabled) > { > state |= DrawItemState.Disabled; > } > if (menuItem.Checked) > { > state |= DrawItemState.Checked; > } > if (menuItem.DefaultItem) > { > state |= DrawItemState.Default; > } 244,245c263,281 < g.FillRectangle(SystemBrushes.Menu, bounds); < ThemeManager.MainPainter.DrawSeparator(g, bounds); --- > state |= DrawItemState.Grayed | DrawItemState.Disabled; > } > > Color fore, back; > fore = SystemColors.MenuText; > back = SystemColors.Menu; > if ((state & DrawItemState.Selected) != 0) > { > fore = SystemColors.HighlightText; > back = SystemColors.Highlight; > } > if ((state & DrawItemState.Grayed) != 0) > { > fore = SystemColors.GrayText; > } > if (menuItem.OwnerDraw) > { > DrawItemEventArgs drawItem = new DrawItemEventArgs(g, SystemInformation.MenuFont, bounds, item, state, fore, back); > menuItem.OnDrawItem(drawItem); 249c285,286 < if (menuItem.OwnerDraw) --- > g.FillRectangle(new SolidBrush(back), bounds); > if (menuItem.Text == "-") 251,252c288 < DrawItemEventArgs drawItem = new DrawItemEventArgs(g, SystemInformation.MenuFont, bounds, item, DrawItemState.None); < menuItem.OnDrawItem(drawItem); --- > ThemeManager.MainPainter.DrawSeparator(g, bounds); 255,275c291,292 < { < Brush fore, back; < if (highlighted) < { < fore = SystemBrushes.HighlightText; < back = SystemBrushes.Highlight; < } < else < { < fore = SystemBrushes.MenuText; < back = SystemBrushes.Menu; < } < g.FillRectangle(back, bounds); < g.DrawString(menuItem.Text, SystemInformation.MenuFont, fore, textBounds, format); < if (this is ContextMenu && menuItem.itemList.Length > 0) < { < int x = bounds.Right - 7; < int y = (bounds.Bottom + bounds.Top) / 2; < g.FillPolygon(fore, new PointF[]{ < new Point(x, y), new Point(x - 5, y - 5), new Point(x - 5, y + 5)}); < } --- > { > g.DrawString(menuItem.Text, SystemInformation.MenuFont, new SolidBrush(fore), textBounds, format); 277a295,302 > if (this is ContextMenu && menuItem.itemList.Length > 0) > { > int x = bounds.Right - 7; > int y = (bounds.Bottom + bounds.Top) / 2; > g.FillPolygon(new SolidBrush(fore), new PointF[]{ > new Point(x, y), new Point(x - 5, y - 5), new Point(x - 5, y + 5)}); > } > 317,319c342,344 < protected virtual internal void ItemSelectTimerTick(object sender, EventArgs e) < { < itemSelectTimer.Stop(); --- > protected virtual internal void ItemSelectTimerTick(object sender, EventArgs e) > { > itemSelectTimer.Stop(); 328c353 < --- >