Измерение строки по вертикали - PullRequest
3 голосов
/ 10 мая 2011

У меня есть приложение C # Winform.В моей форме у меня есть панель, а в моей панели - ярлык.Ярлык создается динамически.У меня есть следующий код:

Label label1 = new Label();
label1.MaximumSize = new Size(400, 0);
label1.Location = new Point(posX, posY);
label1.Text = myText;
label1.AutoSize = true;
posY += 15;

Хорошо, все работает.Текст метки автоматически переносится через 400 пикселей.Проблема в том, что мне нужно создать второй ярлык, но как мне узнать, как установить местоположение?Эта новая метка должна быть размещена чуть ниже первой метки, а первая метка может иметь длину 1 или 5 строк.любая помощь будет оценена.

Ответы [ 3 ]

4 голосов
/ 10 мая 2011

попытайтесь поместить вашу этикетку в FlowLayoutPanel , установите FlowDirection в значение сверху вниз.

1 голос
/ 10 мая 2011

Я бы поддержал ответ, предоставленный Int3 , и еще одно решение - прочитать Height label1, прежде чем установить Top label2.

Например:

label2.Top = label1.Top + label1.Height + 10;
0 голосов
/ 10 мая 2011

Решением может быть GridLayout с несколькими строками

...