如果组合框的文本改变重置所有文本框的形式
问题描述:
我有一个Form
,当我选择从ComboBox
值,所有TextBox
ES(around150)及以下Label
小号得到与我从阅读日志获取信息变更。如果组合框的文本改变重置所有文本框的形式
问题在于某些日志没有全部信息,所以该字段应保持空白。问题是当TextBox
以前已经包含信息,当我更改ComboBox
时,此信息不会重置。
我试着用Button
扫清所有TextBox
上课,但我有160
private void button2_Click_1(object sender, EventArgs e)
{
textbox1.Clear();// do it for all the textboxs
}
答
除了Steve's答案, es嵌套在其他容器中(例如GroupBox
),而不是全部直接放在您的Form
上,则必须递归到子容器中:
private void ClearTextBoxes(Control container)
{
foreach(TextBox textBox in container.Controls.OfType<TextBox>())
textBox.Clear();
foreach(Control control in container.Controls)
ClearTextBoxes(control);
}
,并调用此类似:
private void button2_Click_1(object sender, EventArgs e)
{
ClearTextBoxes(this); // "this" being your Form
}
答
您可以使用此:如果你有TextBox
public void ResetAllTextBoxes()
{
// Iterate over all Controls in the current form
foreach (Control control in this.Controls)
// If the control is a TextBox ...
if (control is TextBox)
// ... clear its text
(control as TextBox).Text = "";
}
感谢youu的工作 –