如何为我的表单中的所有文本框执行String.IsWhiteSpaceOrNull?

Mas*_*adi 2 c#

我有8个文本框,所有这些文本框都应该填充以启用我的按钮,我已经使用下面的代码在计时器中完成了它.

private void tmrTextChanged_Tick(object sender, EventArgs e)
{
    if (!string.IsNullOrWhiteSpace(txtEnterUsername.Text) && !string.IsNullOrWhiteSpace(txtEnterPassword.Text) &&
            !string.IsNullOrWhiteSpace(txtConfirmPassword.Text) && !string.IsNullOrWhiteSpace(txtFirstName.Text) &&
            !string.IsNullOrWhiteSpace(txtLastName.Text) && !string.IsNullOrWhiteSpace(txtGender.Text) &&
            !string.IsNullOrWhiteSpace(txtTelephone.Text) && !string.IsNullOrWhiteSpace(txtMobilePhone.Text) &&
            !string.IsNullOrWhiteSpace(txtCity.Text))
            btnCreateAccount.Enabled = true;
    else
        btnCreateAccount.Enabled = false;
}
Run Code Online (Sandbox Code Playgroud)

但条件是如此之长,如果文本框超过这个?所以我试图以另一种方式写它,但按钮启用之前我填写所有这些,这里是代码.

private void tmrTextChanged_Tick(object sender, EventArgs e)
{
    foreach (Control item in Controls.OfType<TextBox>())
    {
        if (!string.IsNullOrWhiteSpace(item.Text))
            btnCreateAccount.Enabled = true;
        else
            btnCreateAccount.Enabled = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

它似乎没有检查所有这些我怎么能检查它们?(窗体)

Chr*_*tos 5

你可以尝试这个:

btnCreateAccount.Enabled = !Controls.OfType<TextBox>().Any(x=>string.IsNullOrWhiteSpace(x.Text));
Run Code Online (Sandbox Code Playgroud)

这样,您可以检查文本框的集合中是否包含文本空或空格.如果是这样,那么我们采取右手的否定,这将是!true = false.否则结果将是!false = true.

有关所述方法的进一步文档Any,请在此处查看.