C# label AutoSize добавляет заполнение
У меня есть ярлык на Windows.Форма. Я установил свойство AutoSize на метке в True и заметил, что когда я это делаю, он накладывает правую сторону с ~5px белого фона. У меня есть свойство Padding, установленное в [0, 0, 0, 0]. Есть ли способ избавиться от этого?
Я хотел бы узнать границы метки как можно ближе к тексту внутри метки.
2 ответов
нет никакого способа, когда вы используете только padding и margin. Это поведение по умолчанию.
выше Window
Я поставил Padding
и Margin
to [0,0,0,0]
. Эти 5 пикселей все еще там.
если вы устанавливаете FlatStyle = System
и AutoSize = False
вы можете сделать это:
выше Window
У вас больше нет этих 5 пикселей.
Ok, поэтому FlastStyle = System; AutoSize = false; а затем настройте свойство, которое вычислит ширину следующим образом:
public string LabelText
{
set
{
_label.Text = value;
using (Graphics g = CreateGraphics()) {
_label.Width = (int)g.MeasureString(_label.Text, _label.Font).Width;
}
}
}