Я создал пользовательский UserControl с помощью графического интерфейса и не могу заставить его принимать динамически добавленные события из пользовательского класса.
Извините, если я неправильно понял точный код, если исходить из памяти, но вы понимаете суть.
C # .NET 2008, Winform
У меня есть «контейнерный класс», в котором хранится вся моя информация.
Основной WinForm имеет их массив, и у каждого из них есть сводная панель.
Основная форма также имеет «рабочую зону», которая позволит вам получить доступ к классу контейнера.
Идея заключается в том, что взаимодействие с CustomUserControl приведет к тому, что внутри ContainerClass произойдет нечто. Элемент управления использует информацию оттуда, и я хочу, чтобы она обновлялась изнутри.
ContainerClass
{
CustomUserControl tempControl;
public ContainerClass()
{
//do stuff
tempControl = new CustomUserControl([send information]);
tempControl.Click += new Event(localClickEvent);
}
public void localClickEvent(object sender, Event e)
{
//do stuff
}
}
.
public class Form1
{
public Form1()
{
//create several container objects
//for each container object, get it's SummaryPanel
//and add it to the FlowLayoutPanel
CustomUserControl tempControl = ContainerObject.GetCustomControl();
flp_summaryPanel.Controls.Add(tempControl);
}
}
Когда я выполняю этот код, динамическое событие никогда не запускается.
Я делал подобные вещи раньше, но это всегда было с пользовательскими классами, которые наследовали необходимый мне элемент управления. Я никогда не наследовал UserControl, поэтому подозреваю, что что-то пропустил.
Я предполагаю, что это проблема защиты, но компилятор ее не ловит.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Это как-то помечено как вопрос ASP.net. Это не так, я использую Winforms, хотя я никогда не говорил об этом.
Еще одна важная вещь: динамическое событие не находится в другом элементе управления. Он находится в пользовательском классе, который функционирует как большой контейнерный объект.
.
.
Как всегда, большое спасибо за вашу помощь! :)