Я бы хотел использовать Segoe UI 9 pt в Vista и Tahoma 8 pt в Windows XP / etc. (На самом деле, я бы согласился на Segoe UI на обоих, но мои пользователи, вероятно, не установили его.) Но, будучи совершенно другими, они действительно испортили макет моих форм. Итак ... есть ли хороший способ справиться с этим?
Пример: у меня есть Label
с некоторым пробелом в середине, в который я помещаю NumericUpDown
элемент управления. Если я использую пользовательский интерфейс Segoe, NumericUpDown
составляет около 5 пикселей или около того слева от пустого пространства, по сравнению с тем, когда я использую Tahoma. Это боль; Я не уверен, что здесь делать.
Поэтому, в частности, мой вопрос будет таким: как я могу разместить элементы управления в середине пустого пространства в моих Label
s (или CheckBox
es и т. Д.)? В целом: есть ли хороший способ обрабатывать различные шрифты в Windows Forms?
Редактировать : Я не думаю, что люди поняли вопрос. Я знаю, как изменять мои шрифты в зависимости от ОС. Я просто не знаю, как справиться с проблемами макета , которые возникают в результате этого.
Ответ ajryan, quick_dry : Хорошо, ребята, вы понимаете вопрос. Я полагаю, что MeasureString может сработать, хотя я бы заинтересовался дальнейшим изучением более эффективных способов решения этой проблемы.
Проблема с разделением элемента управления наиболее очевидна, скажем, при CheckBox
. Там, если пользователь нажимает на «вторую половину» CheckBox (который будет отдельным Label
элементом управления, я полагаю), CheckBox
не меняет состояние.