更改我的 winform 中的所有文本框边框样式

本文关键字:文本 边框 样式 我的 winform | 更新日期: 2023-09-27 18:31:39

如何更改 winform by foreach 中文本框的所有边框样式

或者比列出每个文本框并更改它们更短的内容。

更改我的 winform 中的所有文本框边框样式

您可以循环访问窗体的控件:

foreach(Control c in myForm.Controls)
{ 
    if(c is TextBox)
    { 
         ((TextBox)c).BorderStyle = yourStyle;
    }
}

编辑

如果你有一些可以包含文本框的容器(如面板、选项卡控件、ecc.),你可以递归迭代:

private void checkControl(Control control)
{
    foreach (Control c in control.Controls)
    {
        var textBox = c as TextBox;
        if (textBox != null)
            textBox.BorderStyle = BorderStyle.FixedSingle;
        else
            checkControl(c);
    }
}

并最初使用以下命令调用该方法:

checkControl(this);
private void SetTextBoxBorderStyle(Control ctrl)
{
    foreach(Control c in ctrl.Controls)
    {
        if(c is TextBox)
           (c as TextBox).BorderStyle = yourStyle;
        else
           SetTextBoxBorderStyle(c);
    }
}

像这样在窗体中调用它:

SetTextBoxBorderStyle(this);
public void setAllTextBoxs(Control control)
{
    foreach (Control c in control.Controls)
        if (c is TextBox)
            (c as TextBox).BorderStyle = BorderStyle.FixedSingle;
        else if(c.HasChildren)
            setAllTextBoxs(c);
}

λ等效...老忠实一衬 XD

public void setAllTextBoxs(Control control)
{
    control.Controls.Cast<Control>().ToList().ForEach(c => { if (c is TextBox) (c as TextBox).BorderStyle = BorderStyle.FixedSingle; else if (c.HasChildren) setAllTextBoxs(c); });
}

并像这样称呼它:

setAllTextBoxs(this);