Подтвердить что ты не робот

Как заставить WinForms UserControl заполнить размер своего контейнера

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

При нажатии любой из этих кнопок отображается связанный пользовательский элемент управления на панели. Панель содержит пользовательские элементы управления, которые в свою очередь содержат пользовательский интерфейс.

WinForms UserControl не имеет свойства Anchor или Dock.

Я попытался установить свойство UserControl

AutoSize=True

А также

private void ManageUsersControl_Load(object sender, EventArgs e)
{
        this.Width = this.Parent.Width;
        this.Height = this.Parent.Height;
}

Но это не сработало.
Примечание: я загружаю этот элемент управления динамически во время выполнения

4b9b3361

Ответ 1

Попробуйте установить для свойства Dock значение Fill:

private void ManageUsersControl_Load(object sender, EventArgs e)
{
        this.Dock = DockStyle.Fill;
}

Я также установил бы значение AutoSize по умолчанию, я считаю, что False. Посмотрите, как это работает...

Ответ 2

UserControl1 myusercontrol = new UserControl1();
            myusercontrol.Dock = DockStyle.Fill;//Dock Prope. Fill user Control Contrainer
            TabPage myTabPage = new TabPage();//New Tab Create
            myTabPage.Text = "Wel-Come Page";//Tab Header Txt
            myTabPage.Controls.Add(myusercontrol);
            tabControl1.TabPages.Add(myTabPage);

Ответ 3

В пользовательском элементе управления изменения размера.

 private void MyTextBox_Resize(object sender, EventArgs e)
        {
            this.Width = textBox1.Width;
            this.Height = textBox1.Height;
        }