我的表单中有一个表格layoutpanel。它有几行(填充控件):
label10 --- textbox10 ---- label20
label11 --- textbox11 --- label21
label12 --- textbox12 --- label22
label13 --- textbox13 --- label23
label14 --- textbox14 --- label24
现在我想使用以下代码在表格中间添加新行:
myLayoutpanel.Controls.Add(label333, 0, 3);
myLayoutpanel.Controls.Add(textbox333, 0, 3);
myLayoutpanel.Controls.Add(label444, 0, 3);
它将在line3之后添加一个新行。 通常结果是按照正确的顺序:
label333 --- textbox333 --- label444
但是对于某些行似乎是错误的:例如,如果添加发生在第4行之后:
label444 --- label333 --- textbox333
答案 0 :(得分:3)
你不会发疯。这是.NET Framework 4.5中引入的错误。参见
中的参考文献和
System.Windows.Forms.TableLayoutPanel Behavior Change .NET 4.5 Framework
答案 1 :(得分:0)
我不知道为什么这发生在你身上,因为你没有发表任何证据。但请检查此代码是否正确执行。我猜想你的代码没有以正确的顺序执行。
myLayoutpanel.Controls.Add(label333, 0, 3);
Thread.Sleep(100);
myLayoutpanel.Controls.Add(textbox333, 0, 3);
Thread.Sleep(100);
myLayoutpanel.Controls.Add(label444, 0, 3);