我尝试在运行时将相同的面板添加到flowlayout面板中,但似乎不起作用,但是当我添加其他面板时,它似乎可以正常工作
这是为什么 ?
为什么不能多次添加同一面板?
为什么在运行时无法在C#中将同一面板添加到流布局面板中?
•
问答
zzc123456 回答:为什么在运行时无法在C#中将同一面板添加到流布局面板中?
您可以两次添加相同的面板类型,但是不能添加相同的面板实例。这是因为每个控件都必须能够存储自己的属性集。特别是它们的Location
和Size
,还有制表符顺序和z-index等。像文本框这样的控件必须能够具有不同的Text
值。
var c = new MyUserControl();
flowLayout1.Controls.Add(c);
flowLayout1.Controls.Add(c); // Does not work as expected.
但是
flowLayout1.Controls.Add(new MyUserControl());
flowLayout1.Controls.Add(new MyUserControl()); // Adds a second control as expected.