WinForm:控件不会添加到面板

WinForm: control won't add to a panel

在 WinForms 上,我试图在每次单击按钮时向面板添加一个控件(这里是一个简单的标签)。 UI 看起来像这样:

当我第一次点击按钮时,我得到了这个(我所期望的!):

但是,点击一秒钟、三次等之后,就什么也没有发生了;不再添加标签:(

但是,当我处于调试模式时,我可以在控件列表中看到它们:

这是我的代码(只有有趣的东西):

public partial class GestionPateFeuilletee : Form
{
    private List<Label> listeTours = new List<Label>();

    public GestionPateFeuilletee()
    {
        InitializeComponent();
    }

    private void boutonAjouterTour_Click(object sender, EventArgs e)
    {
        Point coordDepart = new Point(10, 160);
        int tabIndexDepart = 5;

        listeTours.Add(new Label());
        listeTours.Last().Name = "labelTour" + (listeTours.Count());
        listeTours.Last().Location = new System.Drawing.Point(coordDepart.X, coordDepart.Y + 30);
        listeTours.Last().TabIndex = tabIndexDepart + 1;
        listeTours.Last().Text = "labelTour" + (listeTours.Count());

        this.panelDescription.Controls.Add(listeTours.Last());
    }
}

有什么想法吗? 是的,我是 WinForms 的初学者...... 谢谢!

您的面板高度是固定的。您的控件正在添加到面板中。然而,由于面板高度,它们被隐藏在面板中。您可以增加面板高度或在面板/表单中放置垂直滚动条以使标签可见。

同样根据编号定义Y位置。标签数

listeTours.Last().Location = new System.Drawing.Point(coordDepart.X, coordDepart.Y + ((listeTours.Count() + 1) * 30));