hallo zusammen
ich habe ein Problem mit dem Löschen von Dynamisch generierten labeln.
1. label Generieren in einem Panel
label wieder löschen
Leider werden nicht alle label gelöscht erst wenn ich das löschen mehrmals durchführe werden alle gelöscht. Es ist als werden ein paar übersprungen in der foreach.

nach einem Durchlauf

nach dem zweiten Durchlauf
usw
Hat jemand eine idee was ich falsch mache?
Danke für die Hilfe
lg Ademo
ich habe ein Problem mit dem Löschen von Dynamisch generierten labeln.
1. label Generieren in einem Panel
Code:
private void tagGenerieren(Control AktivesPanel, DateTime PanelDateTime)
{
Produktion.Auftrag.Kalender Kalender = new Produktion.Auftrag.Kalender();
Kalender.TagLaden(PanelDateTime);
int rowCount = Kalender.dataSetKalender.Tables["KalenderTag"].Rows.Count;
Label[] labelTermine = new Label[rowCount];
int a = 25;
for (int i = 0; i < rowCount; i++)
{
labelTermine[i] = new Label();
labelTermine[i].Text = Kalender.dataSetKalender.Tables["KalenderTag"].Rows[i]["CoNr"].ToString();
if (labelTermine[i].Text.ToString().ToCharArray().Length == 5)
{
labelTermine[i].Location = new Point(20, a);
}
else
{
labelTermine[i].Location = new Point(10, a);
}
labelTermine[i].Font = new Font("Microsoft Sans Serif", 9.75f, FontStyle.Italic);
labelTermine[i].Name = "labelTermine" + i;
AktivesPanel.Controls.Add(labelTermine[i]);
a = a + 20;
}
}
label wieder löschen
Code:
private void clearKalenderMonat()
{
tableLayoutPanelKalenderMonat.SuspendLayout();
foreach (Control panel in tableLayoutPanelKalenderMonat.Controls)
{
if (panel.Name.Contains("panelKalendrMonatTag"))
{
if (panel.GetType() == typeof(Panel))
{
panel.SuspendLayout();
foreach (Control ClearLabel in panel.Controls)
{
if (ClearLabel.Name.StartsWith("labelTermine"))
{
panel.Controls.Remove(ClearLabel);
}
}
panel.ResumeLayout();
panel.Refresh();
}
}
}
tableLayoutPanelKalenderMonat.ResumeLayout();
tableLayoutPanelKalenderMonat.Refresh();
}
Leider werden nicht alle label gelöscht erst wenn ich das löschen mehrmals durchführe werden alle gelöscht. Es ist als werden ein paar übersprungen in der foreach.

nach einem Durchlauf

nach dem zweiten Durchlauf

usw
Hat jemand eine idee was ich falsch mache?
Danke für die Hilfe
lg Ademo