Создаю приложение опросов, динамически загружаются вопросы с определенным типом в зависимости от указанного типа вопроса, на каждый тип создан свой UserControl (скорее всего это можно было бы упростить), на каждом UserControl есть кнопка "Удалить". При нажатии на нее вопросы удаляются из словаря.
Пытался удалять через следующий код :
this.Parent.Controls.Remove(this);
Однако работало только тогда, когда на самом FlowLayoutPanel находится только один вопрос
Код Control'a
public partial class QuestionTypeCheckBox : UserControl
{
Dictionary<QuestionEntity, List<AnswerEntity>> _questionAnswers;
public QuestionTypeCheckBox(ref Dictionary<QuestionEntity, List<AnswerEntity>> questionAnswers)
{
InitializeComponent();
_questionAnswers = questionAnswers;
}
private void DeleteQuestionButton_Click(object sender, EventArgs e)
{
var toRemove = _questionAnswers.FirstOrDefault(k => k.Key.Description == QuestionTextLabel.Text).Key;
_questionAnswers.Remove(toRemove);
// После этого надо убрать Control из FlowLayoutPanel
}
}