Как добавить пользовательский элемент управления на панель - PullRequest
9 голосов
/ 19 марта 2012

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

например, если пользователь нажмет кнопку1, userControl1 будет добавлен на панель после удаления каждого элемента управления на ней и т. Д.

У меня есть этот код:

panel1.Controls.Add(MyProject.Modules.Masters);

но это не работает.

Как я могу это сделать?

Ответы [ 3 ]

20 голосов
/ 19 марта 2012

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

var myControl = new MyProject.Modules.Masters();
panel1.Controls.Add(myControl);
9 голосов
/ 19 марта 2012

Вам нужно создать новый MyProject.Modules.Masters.

MyProject.Modules.Masters myMasters = new MyProject.Modules.Masters()
panel1.Controls.Add(myMasters);

Это только добавит новый элемент управления на панель1.Если вы также хотите удалить все из панели перед добавлением элемента управления, как вы сказали в вопросе, сначала вызовите это:

panel1.Controls.Clear();
0 голосов
/ 24 ноября 2016

Это не просто проще.

panel1.Controls.Clear();
panel1.Controls.Add(new MyProject.Modules.Masters());

РЕДАКТИРОВАТЬ: Может быть, попробуйте это ...

panel1.Controls.Cast<Control>().ForEach(i => i.Dispose());
panel1.Controls.Clear();
panel1.Controls.Add(new MyProject.Modules.Masters());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...