Есть 10 контролов, есть один errorprovider
. Если в контроле нет текста, появляется сообщение типа
errorProvider1.SetError(extensionNumBox, "Поле «Добавочный номер» обязательно для заполнения");
Все хорошо, однако значок ошибки остается, а мне хотелось бы чтобы он секунд 5 помигал, потом оповещение исчезло. Если я делаю так
errorProvider1.SetError(extensionNumBox, "");
То у меня не успевает отображаться сама ошибка.
Используйте таймер или await Task.Delay()
:
ErrorProvider
.ErrorProvider
для всех контролов (если будете использовать таймер, не забудьте использовать Invoke
, поскольку колбэк таймера вызывается не в UI потоке).Пример с использованием Task.Delay()
:
private async void btnValidate_Click(object sender, EventArgs e)
{
Validate();
await Task.Delay(TimeSpan.FromSeconds(5));
ClearValidation();
}
private void Validate()
{
if (string.IsNullOrEmpty(extensionNumBox.Text))
{
errorProvider1.SetError(
extensionNumBox,
"Поле «Добавочный номер» обязательно для заполнения");
}
// другие проверки
}
private void ClearValidation()
{
errorProvider1.SetError(extensionNumBox, string.Empty);
// очищаем другие контролы
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В комментариях привёл ссылку,где отвечают на мой вопрос,но я не понимаю как он привязывает выбранную сущность в combobox к нужной сущности(Stelug...
Нужно, что бы при нажатом Ctrl строки выделялись, и не снималось выделение при повторном клике на одну из выделенных строкТо есть - зажали Ctrl - > кликнули...
Может ли кто-то объяснить значение третьей строки в коде?