У меня есть TableLayoutPanel с одной строкой и шестью столбцами. Я добавляю для каждого столбца FlowLayoutPanel. В FlowLayoutPanels я добавляю динамические элементы управления.
Я не могу добавить элементы управления непосредственно в TableLayoutPanel, потому что добавление и удаление слишком медленно для многих строк (удаление элементов управления из строки, а затем перемещение элементов управления из строк ниже одной строки вверх).
Но когда я добавляю элементы управления FlowLayoutPanel, TableLayoutPanel не показывает ScrollBar.C# ScrollBar в TableLayoutPanel с FlowLayouts
Что у меня есть:
TableLayoutPanel: 1 ряд, 6 перевалы, DockStyle: Заполните, AutoScroll: Правда
FlowLayoutPanel: DockStyle: Заполните, FlowDirection: Перевернутые, WrapContents: Ложные
ScrollBar должен отображаться в TableLayoutPanel.
Пример кода (я не думаю, что это помогает, остальное устанавливается в визуальном режиме):
// create controls
CheckBox control1 = new CheckBox();
ComboBox control2 = new ComboBox();
ComboBox control3 = new ComboBox();
ComboBox control4 = new ComboBox();
ComboBox control5 = new ComboBox();
CheckBox control6 = new CheckBox();
control1.AutoSize = false;
control1.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter;
control3.DropDownStyle = ComboBoxStyle.DropDownList;
control3.Enabled = false;
control4.DropDownStyle = ComboBoxStyle.DropDownList;
control4.Enabled = false;
control5.DropDownStyle = ComboBoxStyle.DropDownList;
control5.Enabled = false;
control6.AutoSize = false;
control6.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter;
control6.Enabled = false;
// add to float layout panels
this.flayControl1.Controls.Add(control1);
this.flayControl2.Controls.Add(control2);
this.flayControl3.Controls.Add(control3);
this.flayControl4.Controls.Add(control4);
this.flayControl5.Controls.Add(control5);
this.flayControl6.Controls.Add(control6);
И изображение, как вы видите, не скроллбар по левую сторону, но элементы управления скрываются в конце (TableLayoutPanel является контроль с границами):
Лучше поделиться простым кодом, чтобы воспроизвести проблему. –
обновлено, я не думаю, что это помогает ... – Popiel
Какова роль 'TableLayoutPanel'? Почему бы просто не использовать «панель»? –