2014-02-20 88 views
1

我需要知道哪個寬度的標籤將與AutoSize = true;之前窗體顯示所以我可以放置其他控件相對標籤。其實我沒有訪問表單只有父控制。顯示C#標籤之前的寬度?

(不含設計完全工作。這意味着剛剛代碼。)
(在圖形措施字符串是不可靠的,所以我不能使用。)

Label label = new Label(); 
label.AutoSize = true; 
label.Location = new Point(x, y);    
label.Text = "hello world"; 
myParent.Controls.Add(label); 

// more control generation follows, THEN form is shown 
+0

爲什麼要標籤寬度? – Shell

+0

@Nimesh將其他控件相對於標籤放置。 – Bitterblue

+2

您可以使用表格佈局面板來管理控件的位置嗎? http://msdn.microsoft.com/en-us/library/system.windows.forms.tablelayoutpanel(v=vs.110).aspx – Jay

回答

2

好吧,你不能得到將其添加到其父控件之前的標籤寬度。只需將位置放在Control後面即可.Add

Label label = new Label(); 
label.AutoSize = true; 
label.Text = "hello world"; 
myParent.Controls.Add(label); 
label.Left = cntControl1.Left - label.Width; 
label.Top = cntControl1.Top; 
+0

哦,比我想象的容易^^ – Bitterblue