@attlear

Как сделать окно в окне в C#?

Доброго времени суток. Столкнулся с проблемой. Работаю с Windows Forms в VS 2017 на C#. Хочу сделать окно, которое по нажатию кнопки будет открывать другое окно (form2, так я предполагал). Попробовал. Чтобы вторая форма открывалась в границах первой и в качестве дочерней, вычитал про функции MdiParent и IsMdiParent. В параметрах первой формы поставил значение true для IsMdiParent (родительская форма). С виду вроде работает, но при указании параметра родителя фон становится серым и не изменяется другими параметрами (тот же ColorBack отображает выбранный цвет пока VS инициализирует код, далее возвращается на серый) https://imgur.com/a/LLCtSMa
Изначально нужна была просто область, или динамическая, которая бы располагалась внутри формы со своим набором элементов: текстбоксов, баттонов, и т.п.
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
            IsMdiParent = true; // Здесь выдает исключение, поэтому организовал через свойства формы.

            this.WindowState = FormWindowState.Maximized;
            this.FormBorderStyle = FormBorderStyle.None;

            Form2 s = new Form2();
            s.MdiParent = this;
            s.Show();
        }
    }
  • Вопрос задан
  • 2499 просмотров
Пригласить эксперта
Ответы на вопрос 2
profesor08
@profesor08
https://docs.microsoft.com/en-us/dotnet/api/system...

Form2 from2 = new Form2();
from2.ShowDialog();


Естественно можешь задать и размер, и положение.
Ответ написан
Комментировать
hePPer
@hePPer
это проще сделать добавив кастомный контрол - на нем разместить нужные элементы и в нужный момент добавлять/удалять на основную форму
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы