根据邻居标签设置标签位置

时间:2011-12-23 02:00:01

标签: c# .net position label

假设我有两个带变量文本的标签。

例如:

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 个答案:

答案 0 :(得分:6)

您需要使用label1.Right代替:

label2.Location = new Point(label1.Right, label2.Top);

答案 1 :(得分:4)

您可以使用FlowLayoutPanel自动将其子控件彼此相邻放置。

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

+-------------------------------------------+
|FlowLayoutPanel                            |
| +--------------------+ +------+           |
| |LabelWithLotsOfText1| |Label2|           |
| +--------------------+ +------+           |
+-------------------------------------------+