C# Как добавить form в панель panel

У меня есть форма.

В неё добавляю панель(может не панель нужна) И нужно, чтобы вторая форма2 появлялась в рамках рабочего пространства первой формы ПОдскажите пожалуйста введите сюда описание изображения


Ответы (1 шт):

Автор решения: Blackmeser

Тут уже похожий вопрос был, но не про форму, а про табы с формами: https://ru.stackoverflow.com/questions/1263202/Дочерняя-форма-при-закрытии-не-закрывается-с-первого-раза/1263235#1263235

class DaughterForm : Form
{
    public TabPage tabPage; //тот самый TabPage который отвечает за форму
    public DaughterForm()
    {
        this.FormClosed += closed; //дизайнер сам это делает, тут как пример
    }
    void closed(object sender, FormClosedEventArgs e)
    {
        tabPage?.Parent?.Controls.Remove(tabPage);
    }
}

Form mainform = new Form();
TabControl tc = new TabControl();
tc.Dock = DockStyle.Fill;
mainform.Controls.Add(tc);
mainform.Show();
mainform.IsMdiContainer = true;

DaughterForm daughterForm = new DaughterForm();
daughterForm.BackColor = System.Drawing.Color.DarkGray;
daughterForm.MdiParent = mainform;
daughterForm.Text = "DaughterForm3";
TabPage tabPage = new TabPage(daughterForm.Text);
daughterForm.Parent = tabPage;
daughterForm.tabPage = tabPage;
tc.TabPages.Add(tabPage);
daughterForm.Dock = DockStyle.Fill;
daughterForm.Show();

Только вместо TabControl используйте Panel и не используйте DockStyle.Fill, функцию closed надо бы переопределить для других полезных целей, например где-нибудь хранить список форм.

→ Ссылка