1

私は次のコードを持っています:

        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);

私の問題は、アプリケーションを実行しても何も表示されないことです。次のように、最後の行を最初の列に表示するように変更すると、次のようになります。

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

次に、最初の列に問題なく表示されます。また、ColumnStyle定義をSizeType.Percentageの代わりに変更するとAbsolute、それも問題なく機能しますが、パーセンテージは必要ありません。左側に100ピクセルの固定列、右側に50ピクセルの固定列が必要です。

誰かが私をこれについて正しい方向に向けることができますか?

4

2 に答える 2

2

RowCount および ColumnCount プロパティも設定する必要があります。奇妙な、私は知っています。

そう:

tlp.RowCount = 3;
tlp.ColumnCount = 2;
于 2012-03-29T03:13:50.553 に答える