Размещение нескольких панелей в одной ячейке TableLayoutPanel в C # Winforms - PullRequest
0 голосов
/ 18 марта 2019

Я нахожусь в процессе разработки приложения C # Winforms. Я разделил форму на ячейки таблицы, используя TableLayoutPanel. Для конкретной ячейки макета таблицы я хочу вставить несколько панелей - одну поверх другой, чтобы я мог переключаться между панелями (только для этой ячейки) с помощью BringToFront ().

Я попробовал то же самое на форме, которая, казалось, работала. В ячейку таблицы я могу добавить только одну панель. Когда я пытаюсь добавить другие панели в эту ячейку, они вставляются в первую панель. Это затрудняет переключение между панелями.

Я также попытался вставить все необходимые панели в пустую панель (помещенную в ячейку). Но тогда я не могу понять, как переключаться между его дочерними панелями.

Примечание: Переключение панелей должно запускаться с помощью выбора ComboBox в некоторой другой ячейке таблицы.

1 Ответ

1 голос
/ 18 марта 2019

Если вы хотите переключаться между панелями, это всегда пойдет не так, потому что нижняя панель станет родителем верхней ... @Hans Passant дает решение в другой теме и цитирует:

Это можно обойти с помощью View> (Other Windows)> Outline документа, перетащив верхнюю панель обратно в форму. Все еще довольно болезненно, вам, как правило, приходится редактировать Местоположение вручную, а внесение каких-либо изменений в форму в конструкторе позже приводит к тому, что панель возвращается обратно.

Есть лучшие способы сделать это. Настоятельно рекомендуется создавать UserControls, у них есть своя собственная область дизайна. Или используйте способ RAD и сделайте это с помощью TabControl вместо

Полные кредиты: Кредиты

...