Работа с несколькими формами - PullRequest
2 голосов
/ 04 февраля 2012

Я хотел бы загрузить несколько форм внутри формы, используя пользовательские элементы управления, и я попробовал следующий код, но ничего не происходит после нажатия кнопки 1. Кто-нибудь знает, что не так?

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        UserControl1 control = new UserControl1();
        control.Dock = DockStyle.Fill;
        this.Controls.Add(control);
    }
 }

Ответы [ 2 ]

2 голосов
/ 04 февраля 2012

однако содержимое UserControl1 кажется перекрывающимся, и я все еще могу видеть содержимое Form1

Z-порядок элементов управления в форме имеет значение. С Controls.Add () элемент управления оказывается в нижней части заказа, существующие элементы управления перекрывают его. Вы исправляете это так:

    this.Controls.Add(control);
    control.BringToFront();

Или используйте Controls.SetChildIndex (), чтобы вставить его между элементами управления.

0 голосов
/ 04 февраля 2012

Возможно, вам нужно изменить значение свойства Dock.Когда это DockStyle.Fill - он просто займет всю площадь.Попробуйте изменить его на другое значение, в зависимости от того, какой макет вам нужен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...