Справочник по C#

    Исходники по языку программирования CSharp

    Подключение сторонних шрифтов в Windows Form: Справочник по C#

    /
    /
    /
    372 Views


          Не секрет, что шрифтов в интернете для работы можно найти многие тысячи и на любой вкус. Инструкция поможет вам подключить сторонние шрифты к вашему приложению.
    Создаем проект Windows Form в Microsoft Visual Studio и добавляем на главную форму три раза компонент «Label»



    Получаем демонстрационную форму для шрифтов.



          Далее переходим в код формы, есть два способа это сделать, нажимаете клавишу «F7» или делаете клик правой клавишей мыши по форме и выбираете из контекстного меню пункт «Перейти к коду».


    Если у вас все получилось, вы увидите листинг главной формы.


    Для работы со шрифтами вам будет необходимо выполнить подключение следующего пространства имен:
    using System.Drawing.Text;
    


          После выполнения указанных действий создайте рядом с исполняемым файлом программы папку «font», куда вы будете складывать все необходимые вам для работы шрифты.



    Вернитесь в ваш проект и добавьте следующие два метода.

    PrivateFontCollection font;
    private void fontsProjects()
    {
    //Добавляем шрифт из указанного файла в em.Drawing.Text.PrivateFontCollection
    this.font = new PrivateFontCollection();
    this.font.AddFontFile("font/Alice.ttf");
    this.font.AddFontFile("font/Modestina.ttf");
    this.font.AddFontFile("font/serp_and_molot.ttf");
    }
    
    private void fonts()
    {
    //Задаем шрифт текста, отображаемого элементом управления.
    label1.Font = new Font(font.Families[0], 31);//Alice.ttf
    label2.Font = new Font(font.Families[1], 31);//Modestina.ttf
    label3.Font = new Font(font.Families[2], 31);//serp_and_molot.ttf
    }
    


          Для выполнения этих двух методов добавьте их выполнение после метода инициализации всей формы, по умолчанию он выглядит так, InitializeComponent().

    Т.е у вас получится вот такой вариант:

    InitializeComponent();
    //Загружаем шрифты в приложение
    fontsProjects();
    //Применяем шрифты к компонентам
    fonts();
    //Устанавливаем текст в компонентах
    label1.Text = "Alice";
    label2.Text = "Modestina";
    label3.Text = "Серп и Молот";
    

    Запускаете приложение клавишей «F5» и если вы все делали по инструкции, то получите вот такой вариант:



          Если вы хотите усложнить немного данный проект, то можно реализовать меню для установки шрифтов, каждому компоненту. Добавьте два компонента «ComboBox», которые будут отвечать за выбор элемента на форме и применяемого к нему шрифта, кнопку «Button», для применения этих настроек и «NumericUpDown», для ввода размера шрифта. У вас получится вот такой вариант:


          Далее переходим к коду, сделайте двойной клик левой клавишей мыши по форме. Вы перейдете в метод «Form1_Load», который выполняется при открытии этой формы. Добавьте в него приведенный ниже листинг и получите вот такой вариант:

    List list;
    private void Form1_Load(object sender, EventArgs e)
    {
    //Создаем список компонентов
    list = new List();
    
    //Заполняем первый ComboBox именами компонентов
    foreach (Control control in Controls)
    {
    comboBox1.Items.Add(
    //Текст в компоненте
    control.Text.ToString()+", "+
    //Имя компонента
    control.Name.ToString().Replace(@"System.Windows.Forms.",""));
    //Заполняем список именами компонентов
    list.Add(control.Name.ToString().Replace(@"System.Windows.Forms.", ""));
    }
    
    //Получаем 32-разрядное целое число, представляющее общее число шрифтов
    int count = font.Families.Length;
    
    //Заполняем второй ComboBox именами шрифтов
    for (int j = 0; j < count; ++j)
    {
    comboBox2.Items.Add(font.Families[j].Name);
    }
    }

          После этого перейдите на вкладку конструктора формы и сделайте двойной клик левой клавишей мыши по компоненту «Button», для создания метода «button1_Click», выполняемого при нажатии на кнопку «Приметь». Далее добавьте в метод, приведенную ниже строчку кода.

    (Controls[list[comboBox1.SelectedIndex]]).Font =
    new Font(font.Families[comboBox2.SelectedIndex], (int)numericUpDown1.Value);
    

          Запускаете приложение клавишей «F5» и если вы все делали по инструкции, то получите вот такой вариант:

    Ссылка для скачивания примера: Яндекс.Диск

    Подключение сторонних шрифтов в Windows Form: Справочник по C#

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest
    moyadcode10
    moyadcode11
    moyadcode9