2011-04-21 9 views
9

5 ya da 7 sütunlu bir tableLayoutPanel sahibim. Kullanıcılar 5 ila 7 gün arasında geçiş yapmak için "hafta sonu göster/gizle" düğmesine tıklayabilirler.TableLayoutPanel çalışma zamanında sütun sütunları: garip davranış veya hata

Sorun: 5 gün ile başladığınızda, 5/7 düğmesine basın, 7 sütun eşit aralıklı değil ... sütun 6 geri kalanından çok daha küçük. Garip olan şey, eğer 7 gün ile başlarsanız, hepsi iyi görünüyor. 5'e geçip 7'ye geri döndüğünüzde, hala her şey yolunda mı?

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(); 
    } 
+2

) (tblPanel.ColumnStyles.Clear ekleyin; –

+0

Doh! Teşekkürler! :-) –

cevap

12

döngü için daha önce kod satırını ekleyin:

tblPanel.ColumnStyles.Clear();