Windows Forms, Добавление шрифта в программу

334
20 ноября 2017, 17:05

Всем доброго времени суток! Столкнулся с такой проблемой: всем элементам (лэйблам, листбоксам и пр) установил скачанный из интернета шрифт, на моём компуктере всё работает, а на других, логично, нет. Прочтение других вопросов на стэковерфлоу и сторонних статей (в первую очередь этой) понимания не дало. Самый понятный вариант, который я видел - хранение шрифта в .resx файле, но инструкции его создания для дальнейшего редактирования я тоже не нашёл - только предостережение, что ручное создание может привести к ошибкам.

Подскажите, как либо добавить шрифт в саму программу, либо как на него сослаться, положив в ту же директорию, что и .exe файл? (вообще хотелось бы добавить в программу, но в данном случае пойдёт и положить рядом, так как всё равно с .exe уже лежит .xml с данными)

Answer 1

Просто положите шрифт в папку/подпапку вашего приложения. С учётом того, что это WinForms, используем PrivateFontCollection.

// Устанавливаем нужный шрифт
PrivateFontCollection fontCollection = new PrivateFontCollection();
fontCollection.AddFontFile("font.ttf"); // файл шрифта
FontFamily family = fontCollection.Families[0];
// Создаём шрифт и используем далее
Font font = new Font(family, 15);
READ ALSO
Задать видимость UserControl'в через свойство

Задать видимость UserControl'в через свойство

Пытаюсь изменить видимость Visibility через забинденое свойство к UserControl'у по нажатию кнопки, параллельно к этому свойству для проверки привязал...

229
Управление консолью Windows

Управление консолью Windows

Где найти информацию по управлению консолью на с, с#? Не такое управление, чтобы поменять цвет, или размер, а полноеНапример когда пишу игру,...

284
Не удается неявно преобразовать тип “System.Drawing.Bitmap” в “string”

Не удается неявно преобразовать тип “System.Drawing.Bitmap” в “string”

Обрабатываю изображения и вызываю метод RequestJson, он принимает url картинки и добавляет в dataGridView1, но RequestJson пишет Не удается неявно преобразовать...

373
Не могу разобраться с ошибками CS0501 CS0103

Не могу разобраться с ошибками CS0501 CS0103

Не могу разобраться с кодом у меня выскакивает ошибка CS0103 CS0103 The name 'cont_brick' does not exist in the current context то же самое относится и к "atimer"Прошу помощи

487