Вы просто должны изменить размер этикетки, примерно так:
EDIT:
После комментария @Malior с помощью автоматического изменения размера вы можете удалить строку "lbl.Size".
for (int i = 0; i < 10; i++)
{
Button btn = new Button();
btn.Name = "btnAdi" + (i + 1).ToString();
btn.Text = (i + 1).ToString();
this.Controls.Add(btn);
btn.Location = new Point(0, btn.Height * i);
Label lbl = new Label()
{
TextAlign = ContentAlignment.MiddleLeft,
Dock = DockStyle.None,
BorderStyle = BorderStyle.FixedSingle,
};
lbl.AutoSize = true;
lbl.Text = btn.Name.ToString();
this.Controls.Add(lbl);
lbl.Location = new Point(btn.Width, (btn.Height * i));
}
Выход:
EDIT2:
Если вы хотите со свойством "lbl.Size", вам нужно что-то вроде этого, чтобы получить ширину lbl.Text:
Font arialBold = new Font("Arial", 10);
Size size = TextRenderer.MeasureText(lbl.Text, arialBold);
lbl.Size = new Size(size.Width, size.Height);
Я заметил, что метод дает на 1 или 2 пробела больше, чем предполагалось.
Выход2: