2016-08-05 4 views
0

У меня есть приложение C# WinForms, которое я создал с помощью VS 2013 на рабочем столе Windows 7 pro, DPI 125. После тестирования его на поверхности pro 4 шт. Я заметил, что что-то было неправильно с масштабированием. Таким образом, после некоторой души, StackOverflow, ища :-) Я узнал, что я должен добавить app.manifest файл и установить apiAware истина, а также менять формы AutoScaleMode в ДПИ и его Авторазмер к истине. Это устранило проблему почти со всеми элементами управления. Проблема у меня есть с контролем LinkLabel. Размер шрифта на этом элементе управления не изменяется вместе с другими элементами управления в форме и не связан с ними.Размер шрифта не изменяется при изменении DPI

Каков наилучший способ устранить эту проблему?

касаемо,

эс

+1

Пока не правильное решение, конечно, есть некоторое OnResize события вы можете подписаться на и вручную установить шрифт как и любая другая метка. – 0xFF

+0

не может исключить этот контроль, остальные не основаны на тексте и все изображения. – Goozo

ответ

0

Это решение, которое я придумал, изменять размеры всех элементов управления на основе содержания, которое они используют. Например, если это элемент управления PictureBox после увеличения DPI, только сам элемент управления изменяется не на фактическое изображение, поэтому я изменю размер элемента управления в зависимости от размера изображения.

так просто код будет выглядеть примерно так

Size newSize = missionPbx.Image.Size; 
missionPbx.Size = new Size(newSize.Width + 5, newSize.Height+5); 

приветствий,

эсы