2014-02-20 47 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