簡體   English   中英

TableLayoutPanel運行時的列寬:奇怪的行為或錯誤

[英]TableLayoutPanel column widths at runtime: strange behavior or bug

我有一個tableLayoutPanel,有5或7列。 用戶可以點擊“顯示/隱藏周末”按鈕從5天切換到7天。

問題:當你開始5天,然后按5/7按鈕,7列不均勻間隔...第6列比其余部分小得多。 奇怪的是,如果你從7天開始,一切看起來都不錯。 當你切換到5然后回到7,仍然一切都很好??

    void lblSatSunday_Click(object sender, EventArgs e)
    {
        ShowZaterdagZondag = !ShowZaterdagZondag;
        AddDisplayControls();
    }

    private void AddDisplayControls()
    {
        tblPanel.SuspendLayout();
        tblPanel.Controls.Clear();
        tblPanel.ColumnCount = ShowZaterdagZondag ? 7 : 5; // <<<-------
        tblPanel.RowCount = 1;
        tblPanel.GrowStyle = TableLayoutPanelGrowStyle.FixedSize;//.AddColumns;
        for (int i = 0; i < tblPanel.ColumnCount; i++)
        {
            ColumnStyle cs = new ColumnStyle(SizeType.Percent, 100 / tblPanel.ColumnCount);
            tblPanel.ColumnStyles.Add(cs);

            //Add accordeon
            Accordeon a = new Accordeon();
            //Removed code for reading
            tblPanel.Controls.Add(a);
        }
        tblPanel.ResumeLayout();
    }

在for循環之前添加以下代碼行:

 tblPanel.ColumnStyles.Clear();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM