我有一个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行长。任何帮助将不胜感激。
答案 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可能是一个解决方案