Размер элемента управления увеличивается в корейской ОС

У меня есть форма Windows, в которой элемент управления Label указан с фиксированным размером. Его значение Autosize равно true, а максимальный размер содержит то же значение ширины, что и ширина элемента управления, поэтому элемент управления увеличивает свою высоту только в случае необходимости. Это отлично работает в английской ОС, но когда это развернуто, скажем, в корейской ОС, ширина увеличивается и превышает максимальный предел, установленный в форме.

Я играл с Autoscalemode со всеми значениями - Font, DPI, None, Inherit, но ничего не меняет. Что может быть не так с этим и как мы можем решить эту проблему.


person Scotti    schedule 18.01.2011    source источник
comment
Разве высота символов в корейском языке не выше, чем в английском? Вы намерены обрезать верхние части персонажей? Это затруднит чтение...   -  person Cody Gray    schedule 18.01.2011
comment
На самом деле это не касается размера шрифта, поскольку он по-прежнему берется автоматически. Но свойства размера и максимального размера содержат разные значения при развертывании на корейском языке. Например, у меня есть элемент управления размером 548, 200, максимальная ширина равна 548. Но в корейской ОС это изменяется на 639. Насколько я понимаю, свойства MaximumSize, MinimumSize доступны только для чтения. Итак, мой вопрос, почему он ведет себя таким образом.   -  person Scotti    schedule 18.01.2011
comment
Просто чтобы быть более ясным - я установил значение MaximumSize как - (548, 200). Это преобразуется в (639 185)   -  person Scotti    schedule 18.01.2011


Ответы (2)


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

Вместо того, чтобы устанавливать фиксированный размер, я бы использовал TableLayoutPanel в качестве менеджера компоновки для этого элемента управления/формы/чего бы то ни было и разрешил ему фактически изменять размер. Вам нужно будет немного поиграть с этим, но из моего опыта добавление пустого столбца расстояния работает (при условии, что у вас есть хотя бы один процентный столбец). Это немного сложно, но мне удалось исправить подобный дефект таким образом.

person Paweł Dyda    schedule 22.01.2011

У меня недавно была такая же проблема, и я исправил ее, программно установив шрифт по умолчанию на Sans Serif на главной панели верхнего уровня. Подробности моего ответа (на мой собственный вопрос) здесь:

https://superuser.com/questions/1093919/есть-есть-такая-вещь-как-корейский-Microsoft-Windows-10-или-это-просто-регулярный-win/1119806#1119806

person Surfbutler    schedule 01.09.2016