comment faire pour supprimer la zone de texte dynamique créée en c#
TextBox[] txt = new TextBox[4];
for (int i = 0; i < 5; i++)
{
txt[i] = new TextBox();
txt[i].Text = "button" + i;
}
ce sont les codes pour créer des dynamiques de zone de texte. je ne sais pas comment supprimer ces boutons. plus tard, j'ai trouvé comment cette zones de texte ce qui peut vous aider dans votre projet
c'est le functin pour supprimer la zone de texte complètement.
private void CleanForm(Control ctrl)
{
foreach (Control c in ctrl.Controls)
{
if (c is TextBox)
{
((TextBox)c).Dispose();
CleanForm(this);
}
}
}
- Quel est le but de
CleanForm(this)
dans la boucle? Aussi le garbage collector finira par "supprimer" la zone de texte lorsque vous le retirez de tout contenant de référence.
Vous devez vous connecter pour publier un commentaire.
Puisque vous êtes en gardant une référence pour les zones de texte lorsque vous êtes en train de créer leur
txt
, vous pouvez simplement les énumérer sur que pour le retirer.Aussi il semble que le code n'est pas complet, autant qu'elle pourrait l'être en une seule question, je dirais que:
TextBox
de contrôle afin d'être apparu sur leForm/Control
a à devenir membre pourControls
collection de lui. En d'autres termes, à "supprimer" (je suppose que vous parlez de supprimer à partir de l'interface), vous pouvez faire tout simplement faire quelque chose comme ceci:Espère que cette aide.