2010-10-20 7 views
0

Quelqu'un peut-il m'aider en disant comment réduire le temps d'ajouter dynamiquement des lignes et colonnes à tablelayoutpanel? Comme j'ai besoin d'ajouter 10 lignes et 10 colonnes (maximum 10x10 = 100 contrôles, peut être inférieur à 100 selon l'entrée de l'utilisateur), j'ai construit la logique qui fonctionne bien mais le mauvais de ma logique est ajouter des lignes et des colonnes à tablelayoutpanel.Un moyen de réduire le temps d'ajout dynamique de lignes et de colonnes à TablelayoutPanel?

guide Plz

Cordialement Asad


for (int rowNumber = 1; rowNumber <= (TSegments.Value); rowNumber++) 
    { 
     for (int columnNumber = 1; columnNumber < (PSegments.Value) * 2 + 2; columnNumber++) 
     { 
      tempTextBox = new TextBox(); 
      tableLayoutPanel1.Controls.Add(tempTextBox, columnNumber, rowNumber); 
      tempTextBox.Anchor = System.Windows.Forms.AnchorStyles.Right; 
      tempTextBox.Dock = DockStyle.Fill; 
     } 
    } 
+0

Et quelle est votre logique maintenant? –

+0

Veuillez vous référer ci-dessous; – Asad

+0

pour (int rowNumber = 1; rowNumber <= (TSegments.Value); rowNumber ++) {pour (int columnNumber = 1; numéro_colonne <(PSegments.Value) * 2 + 2; columnNumber ++) {tempTextBox = new TextBox() ; tableLayoutPanel1.Controls.Add (tempTextBox, columnNumber, rowNumber); tempTextBox.Anchor = System.Windows.Forms.AnchorStyles.Right; tempTextBox.Dock = DockStyle.Fill; – Asad

Répondre

2

La meilleure/seule façon d'accélérer est en entourant les changements avec SuspendLayout/ResumeLayout.

+0

Pourriez-vous s'il vous plaît élaborer plus loin? C'est nouveau pour moi 'Suspendlayout/Resume: ayout. – Asad

+0

@Asad: appelez simplement yourtable.Suspendlayout() avant de changer la table et ResumeLayout() après. –

Questions connexes