2010-06-21 4 views
0

Мы все знаем, что базовый класс Control имеет метод масштабирования. Проблема в том, что это абсолютное дерьмо. Хотя он превосходно масштабирует все элементы управления, он не масштабирует шрифты. Поэтому все мои ярлыки, текстовые поля и кнопки выглядят настолько неудобно. Было бы просто просто пропустить все элементы управления формы и изменить шрифт, но Control.Font.Size доступен только для чтения, поэтому foreach (Control C в этом. Controls) {C.Font.Size = C.Font. Размер * .8f;} не будет делать трюк.Масштабирование шрифта элемента управления в C# .Net

Каков наилучший способ масштабирования шрифта каждого элемента управления в форме при масштабировании самой формы?

ответ

1

Чтобы изменить размер шрифта элемента управления, вам необходимо создать новый объект Font и назначить его элементу управления.

Вы можете использовать Font object в существующем управлении в качестве шаблона для создания нового объекта Font, изменяя только свойство шрифта вы хотите, таким образом:

myControl.Font = new Font(myControl.Font, 
    myControl.Font.Style | FontStyle.Bold); 

Там также масштабирование шрифтов учебник с некоторой выборкой код здесь: http://www.switchonthecode.com/tutorials/csharp-tutorial-font-scaling

+0

Хорошая находка, спасибо! –

0

масштабирование шрифта не так просто, потому что вы не можете контролировать высоту и ширину, у вас есть только одно свойство: Size.

Что я обычно делаю, это интенсивное использование TableLayoutPanel. Затем вы можете установить шрифт Size, и все элементы управления должны (если они используются Docking и AutoSize должным образом).

О, и изменить размер шрифта, установив на Font свойство Form к new Font(...)

 Смежные вопросы

  • Нет связанных вопросов^_^