如何使TabPage的标题文本变为粗体?

我在C#Windows应用程序中有一些tabControl。 它有一些tabPages。 有没有人知道如何使tabPage Text成为Bold ..?

您需要处理TabControlDrawItem事件以手动绘制标题。 注意:受影响控件的DrawMode应设置为TabDrawMode.OwnerDrawFixed

这是一个示例:

 private void tabControl1_DrawItem(object sender, DrawItemEventArgs e) { Graphics g = e.Graphics; Brush _TextBrush; // Get the item from the collection. TabPage _TabPage = tabControl1.TabPages[e.Index]; // Get the real bounds for the tab rectangle. Rectangle _TabBounds = tabControl1.GetTabRect(e.Index); if (e.State == DrawItemState.Selected) { // Draw a different background color, and don't paint a focus rectangle. _TextBrush = new SolidBrush(Color.Blue); g.FillRectangle(Brushes.Gray, e.Bounds); } else { _TextBrush = new System.Drawing.SolidBrush(e.ForeColor); // e.DrawBackground(); } // Use our own font. Because we CAN. Font _TabFont = new Font(e.Font.FontFamily, (float)9, FontStyle.Bold, GraphicsUnit.Pixel); //Font fnt = new Font(e.Font.FontFamily, (float)7.5, FontStyle.Bold); // Draw string. Center the text. StringFormat _StringFlags = new StringFormat(); _StringFlags.Alignment = StringAlignment.Center; _StringFlags.LineAlignment = StringAlignment.Center; g.DrawString(tabControl1.TabPages[e.Index].Text, _TabFont, _TextBrush, _TabBounds, new StringFormat(_StringFlags)); } 

在Winforms中,您可以更改DrawMode并绘制自己的所有标题。

请参阅MSDN示例 。