Для моего приложения C # Windows Form я создал панель Flowlayout, которая содержит несколько панелей. Внутри панели у меня есть кнопка «Очистить» для каждой панели.
Как мне написать обработчик событий для кода для кнопки «Очистить», чтобы после нажатия этой кнопки панель была как бы «Удалена» из панели потока.
Это короткая часть кода добавления панелей в панель управления.
nFlowPanel.Controls.Add(createNotificationPanel());
nFlowPanel.Controls.Add(createNotificationPanel());
nFlowPanel.Controls.Add(createNotificationPanel());
nFlowPanel.Controls.Add(createNotificationPanelImpt());
nFlowPanel.Controls.Add(createNotificationPanelImpt());
и это код для кнопки "Очистить"
Button btnClear = new Button
{
Text = "Clear",
Name = "btnClear",
Location = new Point(416, 17)
};
p.Controls.Add(btnClear);
btnClear.Click += new EventHandler(buttonClear_Click);
Так, что я должен написать в следующем методе, чтобы иметь эффект удаления, например вторая панель, которая была добавлена в первую часть кода, который я написал?
void buttonClear_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
EDIT
код для создания моей панели
var p = new Panel
{
BorderStyle = BorderStyle.FixedSingle ,
Size = new Size(506,100),
Name = "notifyPanel"
};
и код для создания моей FlowLayoutPanel -
var nFlowPanel = new FlowLayoutPanel
{
FlowDirection = FlowDirection.TopDown,
WrapContents = false,
AutoScroll = true,
Size = new Size(530, 377),
Location = new Point(13, 145)
};
и код моей кнопки сброса
void buttonClear_Click(object sender, EventArgs e)
{
var button = (Control)sender;
var panel = button.Parent.Controls["notifyPanel"];
panel.Dispose();
}
однако выдает ошибку
В экземпляре объекта не задана ссылка на объект.
на панели. Линия удаления ().
кто-нибудь может помочь?