清除 Winform 文本框代码片段说明

威廉·泰

C# 新手

我正在尝试清除 winform 中的所有文本框,此代码片段来自:

如何清除表单中所有文本框的文本?

做这项工作,但有人可以向我解释它在做什么吗?

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);
}
蒂姆

Action<Control.ControlCollection> func = null;正在声明一个将 a 作为参数的委托Control.ControlCollection

func = (controls) => {... }为委托分配一个匿名方法体,该方法体在执行{...}时执行内部操作

func(Controls);执行委托,传入Controls包含表单中所有顶级控件的表单集合。

匿名方法的方法体枚举传入的 ControlCollection 中的控件,并清除所有文本框。对于不是TextBox控件的控件,它会递归到自身并检查控件包含的控件。这样,如果有一个GroupBox或某个其他控件容器,则会在这些控件的子项中搜索 TextBox。

通过执行以下操作,可以更简单地重写(避免委托和匿名方法):

private void ClearTextBoxes()
{
    ClearTextBoxes(Controls);
}

private void ClearTextBoxes(Control.ControlCollection controls) {
    foreach (Control control in controls)
        if (control is TextBox)
            (control as TextBox).Clear();
        else
            ClearTextBoxes(control.Controls);
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

winform 组合框清除空条目

来自分类Dev

一次清除Winform中的所有文本框

来自分类Dev

清除文本框

来自分类Dev

单击清除文本框

来自分类Dev

清除文本框值

来自分类Dev

如何清除lookupedit中的数据?Winform Devexpress

来自分类Dev

清除模型后为何无法清除文本框

来自分类Dev

如何清除HTML中的文本框

来自分类Dev

提交清除文本框后

来自分类Dev

单选按钮清除文本框

来自分类Dev

清除“特定文本框” ASPX页面

来自分类Dev

由于更新面板,文本框被清除

来自分类Dev

仅清除文本框类型的输入

来自分类Dev

清除窗口上的文本框控件

来自分类Dev

清除 tkinter 中的文本框

来自分类Dev

清除在文本框部分输入的组合框文本

来自分类Dev

我想在文本框winform上显示奇怪的代码/字符

来自分类Dev

如何winform texboxt文本转移值网页文本框

来自分类Dev

出现msg框后清除VBA Excel文本框

来自分类Dev

单击时在文本框中输入Coffeescript清除文本

来自分类Dev

单击时,Coffeescript会在文本框中清除文本

来自分类Dev

清除文本框asp.net的文本值?

来自分类Dev

Winform在文本框中拆分字符串

来自分类Dev

C#Winform文本框验证损坏的取消按钮

来自分类Dev

使用文本框对Winform图形进行数据绑定

来自分类Dev

清除内容时,引用文本框的动态组合框不会清除

来自分类Dev

如何清除MVVM中的单击文本框

来自分类Dev

如何清除点击按钮上的文本框

来自分类Dev

在事件上使用通用的清除文本框方法