You can change ForeColor and Font Property manually using properties of ToolStrip and Renderer will use them when rendering.
And if you want different Font and Color when mouse enter or when an item is selected, you should handle suitable events to change the font and color in that siuations, for example the code below changes the font of item to italic, when the mouse is over the item:
private void toolStripMenuItem_MouseEnter(object sender, EventArgs e)
{
var item=(ToolStripMenuItem)sender;
item.ForeColor = Color.Blue;
item.Font = new Font(item.Font, FontStyle.Italic | FontStyle.Bold );
}
private void toolStripMenuItem_MouseLeave(object sender, EventArgs e)
{
var item = (ToolStripMenuItem)sender;
item.ForeColor = Color.Green;
item.Font = new Font(item.Font, FontStyle.Regular);
}
You can assign these handlers to your ToolStripMenuItems dynamically like this:
YourToolStripMenuItem.MouseEnter += new System.EventHandler(this.toolStripMenuItem_MouseEnter);
YourToolStripMenuItem.MouseLeave += new System.EventHandler(this.toolStripMenuItem_MouseLeave);
Here is a screen shot of a custom renderer that I use for toolstrip with Office 2003 Styles while I have changed Font and color of ToolStripButtons and ToolStripMenuItems and then when the mouse is over an item I change its font style to bold and italic and its forecolor to green.