gpt4 book ai didi

c# - 如何将 TabPage 的标题文本设为粗体?

转载 作者:太空狗 更新时间:2023-10-29 22:15:12 26 4
gpt4 key购买 nike

我在 C# Windows 应用程序中有一些 tabControl。它有一些tabPages。有谁知道如何使 tabPage 文本变为粗体..?

最佳答案

您需要处理 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));

}

关于c# - 如何将 TabPage 的标题文本设为粗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2326406/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com