2012-03-29 16 views
1

Ich habe den folgenden Code:Ausgabe mit Spaltengrößen mit Table

 var tlp = new TableLayoutPanel 
         { 
          Location = new Point(0, 0), 
          Name = "TableLayoutPanel1", 
          Dock = DockStyle.Fill, 
          BackColor = Color.White, 
          TabIndex = 0 
         }; 

     Controls.Add(tlp); 

     tlp.RowStyles.Add(new RowStyle(SizeType.Absolute, 14f)); 
     tlp.RowStyles.Add(new RowStyle(SizeType.Absolute, 18f)); 
     tlp.RowStyles.Add(new RowStyle(SizeType.Absolute, 12f)); 
     tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 100f)); 
     tlp.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 50f)); 

     var label3 = new Label 
     { 
      Font = new Font("Tahoma", 8, FontStyle.Regular), 
      Text = Description, 
      AutoSize = false, 
      Width=50, 
      ForeColor = Color.Black, 
      TextAlign = ContentAlignment.TopLeft 
     }; 
     tlp.Controls.Add(label3, 1, 2); 

Mein Problem ist, wenn ich meine Anwendung ausführen, gibt es nichts angezeigt wird. Wenn ich die letzte Zeile ändern in der ersten Spalte angezeigt werden, etwa so:

 tlp.Controls.Add(label3, 0, 2); 

Dann zeigt es ganz gut in der ersten Spalte auf. Auch wenn ich meine ColumnStyle Definition zu SizeType.Percentage anstelle von Absolute ändere, funktioniert das auch gut, aber ich will keinen Prozentsatz, ich möchte eine 100 Pixel feste Spalte auf der linken Seite und eine 50 Pixel feste Spalte auf der rechten Seite.

Kann mir jemand in die richtige Richtung zeigen?

Antwort

2

Sie müssen auch die Eigenschaften RowCount und ColumnCount festlegen. Seltsam, ich weiß.

So:

tlp.RowCount = 3; 
tlp.ColumnCount = 2; 
+0

Wow, das war mein Problem gelöst. Ich kann nicht glauben, dass Sie dies so einstellen müssen, wie es in der Lage sein soll, es durch so viele Zeilen oder Spalten herauszufinden, die ich tatsächlich hinzufüge. – Icemanind

+0

Ja, du würdest denken, dass es funktioniert, nur indem du der Sammlung hinzufügst. Naja. – quip

0

Es dauerte eine lange Zeit, das herauszufinden:

hinzufügen Column und Rowstyles nicht genug ist, haben Sie auch Spaltenanzahl und RowCount zu setzen, wie oben erläutert. Aber ...

Einstellung RowCount und ColumnCount ist auch nicht genug! Sie müssen auch Columstyles und Rowstyles hinzufügen.

Ich glaube, ich diese Komponente endlich ...

Bas