我有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)
它似乎没有检查所有这些我怎么能检查它们?(窗体)
你可以尝试这个:
btnCreateAccount.Enabled = !Controls.OfType<TextBox>().Any(x=>string.IsNullOrWhiteSpace(x.Text));
Run Code Online (Sandbox Code Playgroud)
这样,您可以检查文本框的集合中是否包含文本空或空格.如果是这样,那么我们采取右手的否定,这将是!true = false.否则结果将是!false = true.
有关所述方法的进一步文档Any,请在此处查看.
| 归档时间: |
|
| 查看次数: |
282 次 |
| 最近记录: |