c# - 为什么我不能在 C# 运行时将相同的面板添加到流布局面板?
问题描述
我尝试在运行时将相同的面板添加到 flowlayout 面板,但似乎不起作用,但是当我添加不同的面板时,它似乎工作得很好
为什么会这样?为什么我不能多次添加同一个面板?
解决方案
您可以添加两次相同的面板类型,但不能添加相同的面板实例。这是因为每个控件都必须能够存储自己的一组属性。尤其是它们的Location
and 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.
推荐阅读
- javascript - 函数返回未定义的javascript
- java - 无法解析引用本地 ejb-ref。2 个 EJB 模块之间的通信
- graphics - 为什么这个 vulkan 交换链渲染循环的单个深度缓冲区就足够了?
- javascript - 关于改进循环结构的建议
- wordpress - 在 Wordpress 中隐藏未登录用户的菜单项
- python - 在 Python 中找不到正确的正则表达式!我只需要过滤一次出现子模式的名称
- javascript - 如何汇总反应
- flutter - Flutter to Google Sheets - 如何自动添加提交日期?
- android - 看不到在 Xamarin.Android 应用程序中创建的文件
- java - java.lang.NoClassDefFoundError: io/restassured/path/json/mapper/factory/JsonbObjectMapperFactory