Я создаю ярлык «label1» динамически в методе. Затем, когда я нажимаю кнопку, я хочу удалить эту метку, но если я пишу Controls.Remove (label1), то говорится, что элемент управления не существует в контексте. Как я мог это сделать?Удалить метку, созданную во время выполнения CF C#
EDIT: Следующее предложение Джона я внедрил цикл foreach, но он ничего не делает. Это мой код, то панель, который я использую создается дизайн:
void GenerateControls() {
Label labelOne = new Label();
Button btnContinue = new Button();
panel.SuspendLayout();
SuspendLayout();
//btnContinue
btnContinue.BackColor = System.Drawing.Color.Black;
btnContinue.ForeColor = System.Drawing.SystemColors.Menu;
btnContinue.Location = new System.Drawing.Point(145, 272);
btnContinue.Name = "btnContinue";
btnContinue.Size = new System.Drawing.Size(95, 28);
btnContinue.TabIndex = 13;
btnContinue.Text = "Continue";
btnContinue.Visible = true;
Controls.Add(btnContinue);
btnContinue.Click += new System.EventHandler(btnContinue_Click);
//labelOne
labelOne.Location = new Point(0,65);
labelOne.Size = new System.Drawing.Size(100,20);
labelOne.Text = "labelOne";
labelOne.Name = "labelOne";
labelOne.Visible = true;
labelOne.TextChanged += new System.EventHandler(this.lbl_TextChanged);
labelOne.BackColor = System.Drawing.Color.PaleGreen;
Controls.Add(labelOne);
//panel
panel.Controls.Add(labelOne);
panel.Visible = true;
panel.Location = new Point(0,0);
panel.Size = new Size(240, 320);
//
Controls.Add(panel);
panel.ResumeLayout();
ResumeLayout();
}
А потом, когда я нажмите на btnContinue:
private void btnContinuar_Click(object sender, EventArgs e) {
foreach (Control control in panel.Controls) {
if (control.Name == "labelOne"){
panel.Controls.Remove(control);
break;
}
}
}
Я отладить его и на панели. Контролируйте его, как будто это пустая панель. Спасибо за помощь!
Давайте посмотрим код, который создал этикетку и назначенную его в контейнер. Возможно, вы не используете правильную ссылку экземпляра метки. –
Я уже отлаживаю его с помощью BreakPoint, так я узнал, что ничего не нашел. Больше идей? –