Каков наилучший способ сделать проверки в формах Windows - PullRequest
2 голосов
/ 09 декабря 2010

Каков наилучший способ проверки в приложении Windows Form?

Какой самый простой способ?

Какой самый привлекательный (для конечного пользователя) способ?

С уважением,

-Кушан-

Ответы [ 2 ]

5 голосов
/ 09 декабря 2010

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

Сначала есть класс ValidatorBase. Сделайте его абстрактным и наследуйте класс Component, чтобы у вас была поддержка времени разработки. Сохраните здесь частный экземпляр ErrorProvider и используйте что-то вроде шаблона Template Method (создайте метод Validate, который, в свою очередь, вызывает защищенный абстрактный метод DoValidation). В конкретных реализациях базового класса просто переопределите DoValidation и разместите здесь свою логику. Вы можете иметь EmptyValidator (проверить, не является ли значение элемента управления пустым), RegexValidator (проверить значение элемента управления с помощью некоторого выражения reg), GroupValidator (выполнить Validate для каждого экземпляра ValidatorBase в некотором списке), что вы хотите.

В базовый класс вы можете добавить такие вещи, как поддержка свойств во время разработки (сообщение об ошибке, значок, элемент управления для проверки и т. Д.) *

EDIT1: Теперь, что касается проверки, отличной от пользовательского интерфейса, это область вашего бизнес-уровня и ваши правила. Для этих вещей тоже есть рамки / шаблоны, но я думаю, что вы спрашиваете о проверке пользовательского интерфейса.

EDIT2: в ASP.NET встроен набор похожих валидаторов, хотя и с большим количеством функций (проверка на стороне клиента и т. Д.), Но, если честно, они мне не очень нравятся.

РЕДАКТИРОВАТЬ3: также проверьте: Существует ли какой-либо элемент проверки для проверки правильности .net, например веб-формы asp.net?

1 голос
/ 09 декабря 2010

Один интерфейс, который вы могли бы рассмотреть, это IDataErrorInfo вместе с классом ErrorProvider .У меня есть старая запись в блоге, в которой представлен список классов и интерфейсов DataBinding, которые могут помочь: Классы привязки данных, интерфейсы и атрибуты в Windows Forms 2.0 .

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