2011-12-23 54 views
2

假設我有兩個帶變量文本的標籤。基於鄰居標籤設置標籤位置

例如:

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。

回答

6

您需要使用label1.Right代替:

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

曾任職完美。謝謝 :) –

3

您可以使用FlowLayoutPanel的自動定位彼此相鄰的子控件。

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

 

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