Ширина динамически создаваемой метки во время выполнения на C # - PullRequest
2 голосов
/ 25 мая 2010

Я создаю ярлык во время выполнения: Label myLabel = new Label {Text = "somText"};. После этого myLabel.Width равно значению по умолчанию 104. Как я могу узнать реальную ширину myLabel?

Ответы [ 4 ]

9 голосов
/ 26 мая 2010
SizeF size = myLabel.CreateGraphics().MeasureString(myLabel.Text, myLabel.Font);
2 голосов
/ 25 мая 2010

Реальная ширина составляет 104. Метки имеют свойство AutoSize. Ширина будет увеличиваться или уменьшаться в зависимости от установленного вами текста. Вы можете установить для свойства AutoSize значение false и установить собственную ширину.

1 голос
/ 26 мая 2010

Конечно ширина это ширина? Запомните, чтобы отклонить Autosize, если вы хотите зафиксировать ширину на определенном значении.

1 голос
/ 25 мая 2010

Вы пробовали myLabel.ActualWidth?

...