我需要知道在显示表单之前标签与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
答案 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;