我的主窗体为列表中的每个条目动态创建列表框。通过单击右上角的按钮,我会得到一个小表单来创建一个新条目。如果我关闭表单应该创建一个新的文本框,但是我不能只调用创建列表框的方法,因为它会绘制重复项。有没有办法刷新整个表单而不关闭它并创建一个新表单?
文本框代码
foreach (Uitslag u in geselecteerdeVerkiezing.uitslagen)
{
CreateDynamicTextBox(x, y, u);
UpdatePositionManager(ref x, ref y, ref PositionManager);
}
private void CreateDynamicTextBox(int x, int y, Uitslag u)
{
TextBox textBox = new TextBox();
textBox.Location = new Point(x, y);
textBox.Size = new Size(220, 100);
textBox.Multiline = true;
textBox.ReadOnly = true;
textBox.Text = ("Verkiezing: " + geselecteerdeVerkiezing.Naam + Environment.NewLine + "Uitslag: " + u.Naam + Environment.NewLine + "Aantal zetels: " + +geselecteerdeVerkiezing.AantalZetels + Environment.NewLine + "Zetels voor meerderheid: " + geselecteerdeVerkiezing.Meerderheid + Environment.NewLine + "Aantal deelnemende partijen: " + u.DeelnemendePartijen.Count);
textBox.Name = u.Naam;
textBox.MouseClick += new MouseEventHandler(textBox_Click);
this.Controls.Add(textBox);
}
答案 0 :(得分:0)
如果你想删除所有文本框,我认为你可以这样做(没时间测试):
var textBoxes = this.Controls.Cast<Control>().Where(r => r is TextBox).ToArray();
foreach (var textBox in textBoxes)
{
textBox.Dispose();
}
您还可以在.Where()
或ForEach
本身的名称中查看它们。