nameBox_TextChanged
?private bool f1 = false; // для nameBox1
private bool f2 = false; // для другойBox2
private bool f3 = false; // для другойBox3
// сколько там надо
private void nameBox1_Validating(object sender, CancelEventArgs e)
{
прямо тут правим первую букву на заглавную
// дальше проверяем валидность
// и обновляем доступность кнопки логина
имяКномпки.Enable = (f1 = (new Regex(@"^([A-Z][a-z-A-z]+)$")).IsMatch(name)) && f2 && f3;
}
private bool f1 = false; // для nameBox1
private bool f2 = false; // для другойBox2
private bool f3 = false; // для другойBox3
// сколько там надо
private void nameBox1_Validating(object sender, CancelEventArgs e)
=> имяКномпки.Enable = (f1 = (new Regex(@"^([A-Z][a-z-A-z]+)$")).IsMatch(name)) && f2 && f3;
// ... && f100; если их сто.. как то так
// при своей валидации, каждый бокс обновляет свой собственный флаг
// и обновляет статус целевой кнопки
// как тут показано, это возможно даже одной строкой, если собственная валидация достаточно проста
&=
позволяет вообще отказаться от заведения специальных логических флагов готовности, которые я предполагал в самом начале обсужденияprivate void nameBox_Validating(object sender, CancelEventArgs e)
=> имяКномпки.Enable &= IsNameValid(nameBox.Text);
private void nameBox_Validating(object sender, CancelEventArgs e)
=> имяКномпки.Enable &= (new Regex(@"^([A-Z][a-z-A-z]+)$")).IsMatch(name);
IsNameValid
тоже смело выкидываем Но есть 1 трабл, с keypress'omа не надо вообще пользоваться keypress'om для этой цели. события валидации изначально созданы для проверки корректности значения. keypress скорее для создания хоткеев в приложении, или еще чего такого. в сети полно примеров валидации на их основе. но это отсебятина авторов
Получается надо заново переписывать валидацию для каждой модели?не надо. элементарно переносим в правильный метод. не знаю какой у вас там код, но весьма вероятно что все еще и упростить можно
Это совершенно нормально, не нужгно на это обостренно реагировать.Владимир, на мой взгляд, реагирует очень спокойно и разумно. а остро - это как раз мой бзик