У меня есть 8 текстовых полей, и все они должны быть заполнены, чтобы включить мою кнопку, я уже сделал это с кодом ниже в таймере.Как выполнить String.IsWhiteSpaceOrNull для всех текстовых полей в моей форме?
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;
}
но условие такое длинное и что, если текстовые поля были больше этого? поэтому я пытаюсь написать его по-другому, но кнопка позволяет, прежде чем я их заполню, вот код.
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;
}
}
кажется, что он не проверяет все, как я могу проверить их все? (Окна формы)
Проверочное событие –
У вас есть ошибка в вашей логике. Он вернет 'Enabled'' true' или 'false' в зависимости от проверки последнего элемента управления. –