Совместное использование валидации пользовательского интерфейса - PullRequest
0 голосов
/ 25 января 2012

Я пытаюсь понять, как отделить мою бизнес-логику от моих форм. Это моя первая попытка сделать это, но я хотел бы выяснить, как обрабатывать события из нескольких форм в классе. Я обнаружил, что постоянно пишу одну и ту же логику в каждом классе форм, и пришло время выяснить, как полностью отделить эту логику в winforms, чтобы я мог повторно использовать методы во всех моих формах.

Так что в основном у меня есть это событие click в форме1:

    Private Sub btnSubmit_Click(sender As System.Object, e As System.EventArgs) Handles btnSubmit.Click

        If String.IsNullOrWhiteSpace(txtPlanName.Text) OrElse _
            String.IsNullOrWhiteSpace(txtPlanNumber.Text) Then
            MessageBox.Show("All of the fields are not filled in!" + Environment.NewLine + _
                            Environment.NewLine + "Hit Ok and try again.")
        Else
            'do something

        End If
    End Sub

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

Handles Form1.btnSubmit, Form2.btnEnter

Возможно ли это сделать?

1 Ответ

1 голос
/ 25 января 2012

Лучше написать открытый класс, имеющий статические методы проверки, и вызвать эти методы в вашем пользовательском интерфейсе.

public class MyValidation
   public Shared Function IsEmpty(ByVal data as String) as Boolean
      if String.IsNullOrWhiteSpace(data) OrElse String.IsNullOrWhiteSpace(data) Then
         return true
      End If
      return false
   End Function
End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...