首页 > 解决方案 > 如何使用for循环在c#windows窗体应用程序中检查文本框是否为空,使用数组

问题描述

我使用文本框名称为 text_box_1,text_box_2,text_box_3,text_box_4 我需要一一检查这些文本框,如果它们为空,则文本框应该隐藏,这是我的代码,我试图声明一个变量文本框名称这个,但它不起作用,所以你能帮我解决这个问题吗

int i;
private void check()
{
    for(i = 0; i < 4; i++)
    {
        if((text_box_+i).Text == "")
        {
            (Text_box_+i.Hide();
        }
    }
}

感谢@Oztaco,我解决了它,这就是我想要的方式,非常感谢@Oztaco ...

    private void check()
    {
        TextBox[] textBoxes = new TextBox[10];
        textBoxes[0] = a;
        textBoxes[1] = b;
        textBoxes[2] = c;
        textBoxes[3] = d;

        int i;
            for (i = 0; i < 4; i++)
            {
                if(textBoxes[i].Text == "")
                {
                textBoxes[i].Hide();
                }
            }
    }

标签: c#

解决方案


如果您打算放置Check在表单中,则可以这样定义:

private void Check()
{
    foreach (var tb in this.Controls.OfType<TextBox>())
    {
        if (String.IsNullOrEmpty(tb.Text)) tb.Hide();
        else tb.Show();
    }
}

this.Controls包含表单中的所有控件;调用OfType<TextBox>()您只获得 TextBox 类型的控件,因此您在表单中拥有的所有文本框。


推荐阅读