Clear multiple text boxes with a button in C#(在 C# 中使用按钮清除多个文本框)
问题描述
我使用 .NET 框架 4.
I use .NET framework 4.
在我的表单中,我有 41 个文本框.
In my form, I have 41 text boxes.
我已尝试使用此代码:
private void ClearTextBoxes()
{
Action<Control.ControlCollection> func = null;
func = (controls) =>
{
foreach (Control control in controls)
if (control is TextBox)
(control as TextBox).Clear();
else
func(control.Controls);
};
func(Controls);
}
还有这段代码:
private void ClearTextBoxes(Control.ControlCollection cc)
{
foreach (Control ctrl in cc)
{
TextBox tb = ctrl as TextBox;
if (tb != null)
tb.Text = String.Empty;
else
ClearTextBoxes(ctrl.Controls);
}
}
这对我仍然不起作用.
当我尝试使用此代码清除时 TextBoxName.Text = String.Empty; 文本框成功清除但一个文本框,仍然有 40 个文本框.
When I tried to clear with this code TextBoxName.Text = String.Empty; the textbox success cleared but one textbox, still had 40 textbox again.
我该如何解决这个问题?
How do I solve this?
编辑
我输入了这个:
private void btnClear_Click(object sender, EventArgs e)
{
ClearAllText(this);
}
void ClearAllText(Control con)
{
foreach (Control c in con.Controls)
{
if (c is TextBox)
((TextBox)c).Clear();
else
ClearAllText(c);
}
}
但还是不行.
编辑
我使用了面板和拆分器.
I used panels and splitter.
推荐答案
void ClearAllText(Control con)
{
foreach (Control c in con.Controls)
{
if (c is TextBox)
((TextBox)c).Clear();
else
ClearAllText(c);
}
}
要使用上面的代码,只需这样做:
To use the above code, simply do this:
ClearAllText(this);
这篇关于在 C# 中使用按钮清除多个文本框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 C# 中使用按钮清除多个文本框
基础教程推荐
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01
