Загрузка...

Сглаживание шрифта Win Forms C#

Тема в разделе C# создана пользователем RaysMorgan 1 фев 2017. 991 просмотр

Загрузка...
  1. RaysMorgan
    RaysMorgan Автор темы 1 фев 2017 https://lolz.live/support-tickets/open 51 797 7 мар 2013
    Во время разработки новой версии антипаблика была нужда в использовании стороннего шрифта Open Sans, которого нет по дефолту в списке шрифтов в Visual Studio. Гайд по подключению шрифта из папки я быстро нашёл и переписал под свой проект, увидев результаты, я был сильно огорчен качеством отображения текста. В левом углу отображается подключенный шрифт Open Sans Regular. В других сторонах разные настройки сглаживания шрифта (о чём я вам хочу рассказать).

    [IMG]


    Дабы не присваивать каждому контролу нашу функцию, которая будет делать сглаживание шрифта, создадим отдельный контрол CustomLabel на основе стандартного лейбла.

    Код

    public class CustomLabel : Label
    {
    private TextRenderingHint _hint = TextRenderingHint.AntiAlias;
    public TextRenderingHint TextRenderingHint
    {
    get { return this._hint; }
    set { this._hint = value; }
    }
    protected override void OnPaint(PaintEventArgs e)
    {
    e.Graphics.TextRenderingHint = TextRenderingHint;
    base.OnPaint(e);
    }
    }

    Этот код можете вставить в любое место, можно вынести в отдельный файл (про неймспейс не забудьте).
    Далее нажимаем "Сборка -> Собрать решение". Ждём сборки проекта, слева в панели инструментов должен появиться новый контрол CustomLabel

    [IMG]

    Теперь просто перетаскиваем его на форму и радуемся красивому тексту :)
     
Top