Первая цифра обрезается в DateTimePicker с определенным шрифтом

#c# #winforms #visual-studio-2017

#c# #winforms #visual-studio-2017

Вопрос:

Я использую DateTimePicker в своем приложении Windows Forms пользовательский формат: dd/MM/yyyy .

Первая цифра частично обрезается при использовании Segoe UI Light шрифта, как показано:

Первая цифра обрезана

Добавление пробелов / символов в пользовательский формат (т. Е. " dd/MM/yyyy" ) не устраняет проблему. Это происходит только с Segoe UI Light ( Segoe UI Regular нормально).

Помимо изменения шрифта, как я могу предотвратить отсечение первого числа?

Я использую Visual Studio 2017 и цель.NET framework — 4.7.2.

Редактировать: Интересно, что если для пользовательского формата установлено значение MM/dd/yyyy , первая цифра дня обрезается: Изображение

Комментарии:

1. попробуйте установить горизонтальное выравнивание по центру, если оно установлено на левое

2. Я не могу воспроизвести это с помощью шрифта, установленного в Segoe UI Light, 10pt или любого другого размера. Возможно, где-то есть другой атрибут? Похоже на оплошность в элементе управления, поскольку это сразу заметно, если вы измените шрифт на курсив. Я не могу придумать другого решения, кроме перезаписи его или добавления в пробел

3. На самом деле, попробовал это, и это еще более странно, если вы установите для него значение dd2 / ММ / гггг, тогда вторая цифра обрезается (при выделении курсивом). Это очень странно. Я собираюсь сказать, что это ошибка в элементе управления, и нет никакого обходного пути, если вы не хотите переопределить метод paint и нарисовать его самостоятельно.

4. @NibblyPig Для меня курсив в порядке, но подсветка нарушена; возможно, мне просто придется переключать шрифты. apomene: Кажется, я нигде не могу найти свойство выравнивания по горизонтали или что-либо подобное для DateTimePicker.

5. В Winforms DateTimePicker нет выравнивания по горизонтали. Однако я не могу воспроизвести проблему. У вас есть какая-то другая конфигурация в сборщике? Вы меняли шрифт на уровне формы или только для этого элемента управления?

Ответ №1:

Увеличьте или уменьшите размер шрифта средства выбора даты. Установите целочисленное значение в размере шрифта.

Комментарии:

1. Пожалуйста, уточните, в идеале продемонстрируйте.