Hallo,
ich möchte mit Hilfe einer numericUpDown-Komponente die Anzahl der TextBoxes steuern, die im Projekt angezeigt werden. Habe dazu auch eine Funktion geschrieben, die aber nicht ganz funktioniert. Hier erstmal der Code:
TextBox[] eintrag;
...
//Initialisierung
eintrag = new TextBox[1];
eintrag[0] = new TextBox();
eintrag[0].Text = "Startseite";
eintrag[0].Left = 104;
eintrag[0].Top = 141;
tabPage6.Controls.Add(eintrag[0]);
...
//Funktion zum Ändern
private void numericUpDown1_ValueChanged(object sender, System.EventArgs e)
{
int soll = (int)numericUpDown1.Value;
if(eintraege > soll)
{
for(int i=soll; i<eintraege; i++)
{
tabPage6.Controls.Remove(eintrag[i]);
}
eintraege = soll;
eintrag = new TextBox[eintraege];
}
else
{
int start = eintraege;
eintraege = soll;
eintrag = new TextBox[eintraege];
for(int i=start; i<eintraege; i++)
{
eintrag[i] = new TextBox();
eintrag[i].Left = 104;
eintrag[i].Top = 141 + i*30;
tabPage6.Controls.Add(eintrag[i]);
}
}
}
Es wird also unterschieden ob eine Textbox hinzugefügt oder entfernt werden muss, wenn der Wert des numericUpDown geändert wird.
Nun funktioniert das Hinzufügen einwandfrei (zumindest optisch). Wenn ich aber den Wert verringere, wird beim ersten Verringern eine Textbox gelöscht, beim weiteren Veringern passiert aber nix mehr.
Warum? Eigentlich sollte der Code doch universell funktioieren...
Danke schonmal Spawn