Merhaba, bildiğiniz üzere C#'ta MenuStrip renklerini doğrudan değiştirmek pek mümkün değil. Özel kodlama ve Render işlemleri yapmak gerekiyor.
Bugün size bunu nasıl yapacağınızı anlatmaya çalışacağım.
Öncelike bir Form açın ve içine MenuStrip ekleyin.
Ardından Global alana alttaki kodları yapıştırın;
Ardından programın Main Preloader kısmına alttaki kodu ekleyiniz;
Normalde böyle gözükür;
İşlemden sonra ise;
İşlem bu kadar basit, iyi çalışmalar.
Bugün size bunu nasıl yapacağınızı anlatmaya çalışacağım.
Öncelike bir Form açın ve içine MenuStrip ekleyin.
Ardından Global alana alttaki kodları yapıştırın;
C#:
// ======================================================================================================
// HEADER PRELOADER RENDERER
static Color header_color = Color.FromArgb(31, 207, 65);
private class HeaderMenuColors : ToolStripProfessionalRenderer{
public HeaderMenuColors() : base(new HeaderColors()) { }
protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) { e.ArrowColor = header_color; base.OnRenderArrow(e); }
}
private class HeaderColors : ProfessionalColorTable{
public override Color MenuItemSelected { get { return header_color; } }
public override Color ToolStripDropDownBackground { get { return header_color; } }
public override Color ImageMarginGradientBegin { get { return header_color; } }
public override Color ImageMarginGradientEnd { get { return header_color; } }
public override Color ImageMarginGradientMiddle { get { return header_color; } }
public override Color MenuItemSelectedGradientBegin { get { return header_color; } }
public override Color MenuItemSelectedGradientEnd { get { return header_color; } }
public override Color MenuItemPressedGradientBegin { get { return header_color; } }
public override Color MenuItemPressedGradientMiddle { get { return header_color; } }
public override Color MenuItemPressedGradientEnd { get { return header_color; } }
public override Color MenuItemBorder { get { return header_color; } }
public override Color CheckBackground { get { return header_color; } }
public override Color ButtonSelectedBorder { get { return header_color; } }
public override Color CheckSelectedBackground { get { return header_color; } }
public override Color CheckPressedBackground { get { return header_color; } }
public override Color MenuBorder { get { return header_color; } }
}
Ardından programın Main Preloader kısmına alttaki kodu ekleyiniz;
C#:
MainMenu.Renderer = new HeaderMenuColors();
// MainMenu MenuStrip ismi
Normalde böyle gözükür;
İşlemden sonra ise;
İşlem bu kadar basit, iyi çalışmalar.