0

Nested TableLayoutPanel を実装しようとしています。親TableLayoutPanel内に子TableLayoutPanelを動的に作成/ロードしようとしています。このために、親の TableLayoutPanel を取得し、Visual Studio ツールボックスから描画します。子TableLayoutPanelを動的に作成するための1つのDropDownList 選択したインデックスの変更が発生したときに、2 * 2,2 * 3,3 * 3,4 * 4などのいくつかの値をドロップダウンリストに割り当て、子TableLayoutPanelを描画します。私のコードは以下です

private void cmbRowsColumns_SelectedIndexChanged(object sender, EventArgs e)
{   
  var selectedPair = new KeyValuePair<string, string>();
  selectedPair = (KeyValuePair<string, string>)cmbRowsColumns.SelectedItem;
  string[] rowcolumn = selectedPair.Value.Split('*');
  string strRowCount = rowcolumn[0];
  int rowCount = Convert.ToInt32(strRowCount);
  string strColumnCount = rowcolumn[1];
  int columnCount = Convert.ToInt32(strColumnCount);
  DynamicallyGenerateColumn(rowCount, columnCount);
}


private void DynamicallyGenerateColumn(int rowCount, int columnCount)
{
  parentTableLayoutPanel.Controls.Clear();
  parentTableLayoutPanel.ColumnStyles.Clear();
  parentTableLayoutPanel.RowStyles.Clear();
  parentTableLayoutPanel.ColumnCount = columnCount;
  parentTableLayoutPanel.RowCount = rowCount;
  for (int i = 0; i < columnCount; i++)
    {
      parentTableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));
      for (int j = 0; j < rowCount; j++)
        {
        if (i == 0)
         {
          parentTableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));
         }
          TableLayoutPanel objTableLayoutPanel = new  TableLayoutPanel();                  
          parentTableLayoutPanel.Controls.Add(objTableLayoutPanel, i, j);
       }
     }
 }

ここに画像の説明を入力 しかし、実際の問題は、子の TableLayoutPanel を作成するときに書式設定が正しくないことです

4

1 に答える 1