c# - 如何从列表中显示表单组件
问题描述
这个问题可能真的很愚蠢,但无论如何都是这样。我希望我的程序做什么:当我按下按钮时,我想将 DatePicker 组件添加到列表中,然后在主窗体中显示所有组件。但是,当我按下按钮时,它只会添加组件,但不会在表单窗口中显示它们。没有错误被抛出。我必须做什么才能在主窗体中显示 DatePicker 组件?
//class containing the List of Components
class Eintrag
{
static public List<DateTimePicker> Anfangszeit = new List<DateTimePicker>();
}
//Main Form Class
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Eintrag.Anfangszeit.Add(new DateTimePicker());
for (int i = 0; i < Eintrag.Anfangszeit.Count; i++)
{
Eintrag.Anfangszeit[i].Location = new System.Drawing.Point(30, 50 + 50*i);
Eintrag.Anfangszeit[i].Size = new System.Drawing.Size(200, 20);
Eintrag.Anfangszeit[i].Visible = true;
Eintrag.Anfangszeit[i].Show();
}
}
}
解决方案
John Wu 是对的,您必须通过Controls.Add()
private void button1_Click(object sender, EventArgs e)
{
Eintrag.Anfangszeit.Add(new DateTimePicker());
for (int i = 0; i < Eintrag.Anfangszeit.Count; i++) {
Eintrag.Anfangszeit[i].Location = new System.Drawing.Point(30, 50 + 50 * i);
Eintrag.Anfangszeit[i].Size = new System.Drawing.Size(200, 20);
Eintrag.Anfangszeit[i].Visible = true;
this.Controls.Add(Eintrag.Anfangszeit[i]);
Eintrag.Anfangszeit[i].Show();
}
}
推荐阅读
- mysql - 调用 MySql 存储过程
- ios - 对于键名或我在代码中给出的任何值,此类不符合键值编码
- android - Google 权限策略更改对 READ_CALL_LOG 权限的 CRM 应用程序的影响
- ios - 如何从 App Store Connect 中删除“未解决的问题”横幅?
- html - 如何将角度分量输出提取到外部 div
- sql-server - 我创建并运行了一个 sqlserver 容器,我停止了它,我不知道如何再次运行它?
- r - 如何绑定两个数据框的行,使 ID 列中具有相同值的行彼此相邻
- ios - 如何将 UIView 作为 SuperView(背景视图)添加到已存在的带有约束的 UI 元素
- freemarker - Freemarker修剪正确的空间不起作用
- android - 在 webview 表单中从键盘隐藏表情符号