首页 > 解决方案 > 为什么我不能在 C# 运行时将相同的面板添加到流布局面板?

问题描述

我尝试在运行时将相同的面板添加到 flowlayout 面板,但似乎不起作用,但是当我添加不同的面板时,它似乎工作得很好
为什么会这样?为什么我不能多次添加同一个面板?

标签: c#winformspanel

解决方案


您可以添加两次相同的面板类型,但不能添加相同的面板实例。这是因为每个控件都必须能够存储自己的一组属性。尤其是它们的Locationand Size,还有 tab 顺序和 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.

推荐阅读