установить положение метки на основе метки соседа - PullRequest
2 голосов
/ 23 декабря 2011

Предположим, что у меня есть две метки с переменным текстом.

Например:

label1.Text = "foo";
label2.Text = "baa"; 

Форма вывода:

________________
|               |    
|foo baa        | 
|______________ |

другой пример:

label1.Text = "fooooo";
label2.Text = "baaaa"; 

Форма вывода:

    ________________
    |               |    
    |fooooo baaaa   | 
    |______________ |

Я попробовал:

  label2.Location = new Point
            {
                X = label1.Location.X + label2.Location.X,
                Y = label1.Location.Y
            };

Я представил, что места достаточно.Но label2 скрывает label1, если текст больше.

Ответы [ 2 ]

6 голосов
/ 23 декабря 2011

Вам нужно использовать label1.Right вместо:

label2.Location = new Point(label1.Right, label2.Top);
4 голосов
/ 23 декабря 2011

Вы можете использовать FlowLayoutPanel, которая автоматически размещает дочерние элементы управления рядом друг с другом.

+-------------------------------------------+
|FlowLayoutPanel                            |
| +------+ +------+                         |
| |Label1| |Label2|                         |
| +------+ +------+                         |
+-------------------------------------------+

+-------------------------------------------+
|FlowLayoutPanel                            |
| +--------------------+ +------+           |
| |LabelWithLotsOfText1| |Label2|           |
| +--------------------+ +------+           |
+-------------------------------------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...