awaisshabir Ответов: 2

Как вызвать пользовательский элемент управления в форме окна?


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

Что я уже пробовал:

общественные частичное ManageTenant класс : элемент управления UserControl
{
публичный менеджер()
{

метод InitializeComponent();

}
частная btnAddNew_Click недействительным(объект отправителя, EventArgs в электронной)
{
// это мое второе имя пользовательского элемента управления-TenantSetup
контроль ВАР = новый TenantSetup();

}

}

Karthik_Mahalingam

проверьте это https://www.youtube.com/watch?v=mECkft9LG4k

2 Ответов

Рейтинг:
2

BillWoodruff

Всякий раз, когда вы создаете экземпляр UserControl в коде во время выполнения, используя ' new, вам нужно добавлять это UserControl к какому-то другому объекту, который имеет коллекцию элементов управления. Это может быть форма, панель или другой элемент управления UserControl,или элемент управления UserControl может быть вставлен в DataGridView, TableLayoutPanel и т. д. После добавления вновь созданного экземпляра UserControl вам нужно будет установить его местоположение в форме хостинга/элемента управления.

Вы создаете экземпляры UserControl вашего проекта во время разработки, перетаскивая их значок панели инструментов на форму или на другой элемент управления в форме, который позволяет размещать другие элементы управления; перетаскивание вызывает событие загрузки UserControl, в котором вы можете установить любую связь с формой/элементом управления хостинга, в которой вы нуждаетесь, и отброшенный UserControl автоматически добавляется в коллекцию ControlCollection элемента управления хостинга.

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

Если вы проясните свой вопрос, чтобы более четко объяснить, как управляется использование двух UserControls, я думаю, вы получите более конкретную обратную связь. Опишите форму, которую вы используете,а также когда / как отображаются и используются пользовательские элементы управления.


Xen Cloete

Покажите на примере. Объяснения таким образом не имеют никакой ценности.

Рейтинг:
0

OriginalGriff

Именно то, что вы хотите сделать, зависит от того, куда должен пойти новый usercontrol: если он находится внутри вашего существующего элемента управления, то это не проблема:

TenantSetup ts = new TenantSetup();
ts.Location = new Point(100,100);
Controls.Add(ts);
Если вы хотите, чтобы он был добавлен в форму, содержащую исходный UserControl, то это немного сложнее, потому что вам нужно попросить teh сделать это за вас. Вы можете посмотреть здесь: Передача информации между двумя формами, Часть 2: Ребенок-Родитель[^]- он основан на формах, но если вы ментально замените "дочернюю форму "на" мой UserControl", это будет точно такая же процедура и тот же код.