Как я делаю текст заголовка TabPage полужирным?

У меня есть некоторый tabControl в Приложении Windows C#. Это имеет некоторые вкладки. Делает любого kwows, как сделать текст вкладки для становления Полужирным..?

5
задан Jon Seigel 24 February 2010 в 15:31
поделиться

2 ответа

Вам нужно будет обработать событие DrawItem в TabControl , чтобы вручную нарисовать заголовок. Примечание. 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));

}
11
ответ дан 18 December 2019 в 13:13
поделиться

Я погуглил для «без союза по рангу» и вторую ссылку, которое вышло было это :

... Мы закрываем этот раздел анализ union-find с трактом сжатие, но без соединения ранг...

Структура данных union-find с трактом сжатие, но без объединения по рангу процессы m поиск и n-1 ссылка операции во времени O ((m + n) log n)

-121--2356649-

Я полагаю, что ответ на этот вопрос зависит от вашей команды, практики и того, для чего предназначены коды ultiamte (например. Часть кода, которую вы нашли, в настоящее время записывает в файл, но будет записывать в веб-службу/базу данных/morse-code машину, как только она закончит - хотя это «оправдание» своего рода побеждено именами класса/метода). Я думаю, вы сами ответили на вопрос «Мы довольно YAGNI-центр в нашей команде, и это, кажется, летит перед лицом этого».

Окончательный ответ, хотя бы спросить человека, который написал его, почему они написали его путь.

-121--4121230-

В Winforms можно изменить DrawMode и нарисовать все подписи самостоятельно.

См. Пример MSDN .

3
ответ дан 18 December 2019 в 13:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: