显示之前C#Label的宽度是多少?

时间:2014-02-20 07:08:56

标签: c# winforms label

我需要知道在显示表单之前标签与AutoSize = true; 的宽度,以便我可以将其他控件相对于标签定位。实际上我只能访问父控件的表单。

(完全没有设计师工作。这意味着只需要代码。)
(图形中的测量字符串不可靠,因此我无法使用它。)

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

1 个答案:

答案 0 :(得分:2)

好的,在将标签宽度添加到其父控件之前,您无法获得标签宽度。只需在Controls.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;