垂直测量弦

时间:2011-05-10 03:42:23

标签: c# winforms label

我有一个C#Winform应用程序。在我的表格中,我有一个面板,在我的面板中,我有一个标签。标签是动态创建的。我有以下代码:

Label label1 = new Label();
label1.MaximumSize = new Size(400, 0);
label1.Location = new Point(posX, posY);
label1.Text = myText;
label1.AutoSize = true;
posY += 15;

好的,一切正常。标签文本在400像素后自动换行。问题是,我需要创建第二个标签,但我怎么知道将该位置设置为什么?这个新标签需要放在第一个标签的正下方,第一个标签可能是1行长或5行长。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:4)

尝试将您的标签放在 FlowLayoutPanel 中,将 FlowDirection 设置为自上而下。

答案 1 :(得分:1)

我支持the answer which provided by Int3,另一种解决方案是在设置label2的Height之前阅读label1的Top

例如:

label2.Top = label1.Top + label1.Height + 10;

答案 2 :(得分:0)

包含某些行的GridLayout可能是一个解决方案