#c# #winforms
#c# #winforms
Вопрос:
Я пытаюсь изменить размер текста, но он не будет автоматически масштабироваться, даже если он соответствует true, я также пытался сделать это с помощью кода, но это тоже не сработает, поэтому часть текста просто обрезана…
private void sizeValue_ValueChanged(object sender, EventArgs e)
{
var sizeValueObj = sender as NumericUpDown;
float fontSize = (float)sizeValueObj.Value;
textLabel.Font = new Font(textLabel.Font.Name, fontSize);
}
Комментарии:
1. Вы уверены, что метка при увеличении размера не перекрывается каким-либо другим элементом управления? Какой шрифт вы используете? Настроен ли NumericUpDown на использование 2 знаков после запятой? Каков текст метки (на каком языке)?
2. @Jimi Да, это ничего не перекрывает, я просто использую Microsoft без засечек. Числовое уменьшение увеличивается на 1 каждый раз. Текст метки — «Текст примера», а язык программирования — c#
3. Извините, не удается воспроизвести это каким-либо образом (также протестировано .Net FW 3.5). Создайте новый проект, чтобы протестировать только это условие, и опубликуйте воспроизводимый пример.
4. Единственное, что я не тестировал, это настройку VS IDE на экране с
dpi != 96
(оказывается, у меня здесь нет такого экрана, это разочаровывает). Если это так (в любом случае вы всегда должны работать с разрешением 96 точек на дюйм) и вашей формойAutoSizeMode = Font
, измените его наDpi
и явно установите шрифт метки (не позволяйте ему наследовать шрифт из контейнера — возможно, формы здесь — если это действительно не необходимо).).5. Я имею в виду, с настройкой VS IDE с разрешением DPI, отличным от стандартного
96
.