Как отобразить все сообщения об ошибках в Windows Forms в виде элемента управления сводкой ошибок? - PullRequest
1 голос
/ 21 июня 2010

У меня есть окна формы, и когда я нажимаю кнопку отправки, он будет использовать класс поставщика ошибок, чтобы отобразить маленький красный значок ошибки рядом со всеми недействительными полями и отобразить сообщение об ошибке в виде всплывающей подсказки.

Легко ли, чтобы все сообщения об ошибках поставщика ошибок отображались в виде сводной рамки или полосы в верхней части формы?

Я знаю, как бы это сделать в ASP.NEt, ноне знаком с Windows Forms

Ответы [ 2 ]

1 голос
/ 21 июня 2010

Эти два метода будут собирать все ошибки для вас, рекурсивно из формы или пользовательского элемента управления, список будет заполнен всеми строками ошибок

private void geterrors(Form f, List<string> errors)
{
    foreach (Control c in f.Controls)
    {
        geterrors(c, errors);

    }
}

private void geterrors(Control c, List<string> errors)
{
    if (errorProvider1.GetError(c).Length > 0)
    {
        errors.Add(errorProvider1.GetError(c));

        if (c.HasChildren)
        {
            geterrors(c, errors);
        }
    }
}
1 голос
/ 21 июня 2010

Нет элемента управления, который автоматически сделает это за вас.Вам придется вручную отслеживать, когда ошибки были обнаружены или устранены.Если у вас есть список ошибок, вы можете легко отобразить их пользователю в списке.

См. Этот вопрос , который я задал некоторое время назад. Hans Passant предоставил небольшой вспомогательный класс, который вы могли бы использовать и легко модифицировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...