private void PaintTextandImage(Graphics g, Rectangle bounds)
{
// Figure out where our text and image should go
Rectangle text_rectangle;
Rectangle image_rectangle;
CalculateButtonTextAndImageLayout(ref bounds, out text_rectangle, out image_rectangle);
//draw the image
if (Image != null)
{
if (Enabled)
g.DrawImage(Image, image_rectangle.X, image_rectangle.Y, Image.Width, Image.Height);
else
ControlPaint.DrawImageDisabled(g, Image, image_rectangle.X, image_rectangle.Y, BackColor);
}
// If we dont' use mnemonic, set formatFlag to NoPrefix as this will show ampersand.
if (!UseMnemonic)
textFormatFlags = textFormatFlags | TextFormatFlags.NoPrefix;
else if (!ShowKeyboardCues)
textFormatFlags = textFormatFlags | TextFormatFlags.HidePrefix;
//draw the text
if (!string.IsNullOrEmpty(Text))
{
if (Enabled)
TextRenderer.DrawText(g, Text, Font, text_rectangle, ForeColor, textFormatFlags);
else
ControlPaint.DrawStringDisabled(g, Text, Font, BackColor, text_rectangle, textFormatFlags);
}
}